Unity网络游戏编程学习(一)

  • Socket通讯流程
  • 简单的示例程序
    • 服务器
    • 客户端
  • 运行效果

学习《Unity3D网络游戏实战》(第二版)时的学习笔记

Socket通讯流程

简单的示例程序

服务器

使用的是VS的控制台应用

class MainClass{public static void Main(string[] args){Console.WriteLine("Hello World!");//SocketSocket listenfd = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//BindIPAddress ipAdr = IPAddress.Parse("127.0.0.1");IPEndPoint ipEp = new IPEndPoint(ipAdr,8888);listenfd.Bind(ipEp);//Listenlistenfd.Listen(0);Console.WriteLine("[服务器]启动成功");while (true) {//AcceptSocket connfd = listenfd.Accept();Console.WriteLine("[服务器]Accept");//Receivebyte[] readBuff = new byte[1024];int count = connfd.Receive(readBuff);string readStr = System.Text.Encoding.Default.GetString(readBuff, 0, count);Console.WriteLine("[服务器接收]" + readStr);//Sendstring feedBack = "接收到" + readStr;byte[] sendBytes = System.Text.Encoding.Default.GetBytes(feedBack);connfd.Send(sendBytes);}}

客户端

使用的时Unity

public class Echo : MonoBehaviour
{//定义套接字Socket socket;public InputField sendStrInput;public Text text;/// <summary>/// 点击连接按钮/// </summary>public void Connection(){socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);socket.Connect("127.0.0.1", 8888);}/// <summary>/// 点击发送按钮/// </summary>public void Send(){//Sendstring sendStr = sendStrInput.text;byte[] sendBytes = System.Text.Encoding.Default.GetBytes(sendStr);socket.Send(sendBytes);Receive();}public void Receive() {//Receivebyte[] readBuff = new byte[1024];int count = socket.Receive(readBuff);string recvStr = System.Text.Encoding.Default.GetString(readBuff, 0, count);text.text = recvStr;socket.Close();}
}

运行效果



注意:这个简单的程序只能进行一次收发,一次过后会报错。
下一篇:Unity网络游戏编程学习(二)

Unity网络游戏编程学习(一)相关推荐

  1. Unity游戏编程自学书籍、插件学习与视频教程

    本文主要介绍用Unity进行游戏编程开发的自学书籍.需要学习的插件以及相关视频教程. 由于Unity采用C#进行开发,所以在进行下面的学习之前,确保自己有一定的C#基础并对基础的数据结构与算法有一定的 ...

  2. Unity 3D游戏代码编程学习教程 Full Guide To Unity 3D C#: Learn To Code Making 3D Games

    Unity 3D游戏代码编程学习教程 Full Guide To Unity 3D & C#: Learn To Code Making 3D Games Full Guide To Unit ...

  3. 视频教程-Unity网络游戏架构设计-Unity3D

    Unity网络游戏架构设计 网名:海洋,CSDN社区讲师,3D游戏引擎开发者,IT讲师,计算机图形学方向研究生,曾在浙江大学CAD&CG;国家重点实验室学习.从事IT行业15年,主导或参与了1 ...

  4. C# unity网络游戏实战泡泡堂(服务端+客户端整套源码)

    游戏采用unity引擎开发. 语言有C#(unity),C++做服务端构建,linux下的服务器搭建. 历经一年自主开发,使用帧同步方式进行网络链接构建,unity实现时间片的同步. 源码3W+行,工 ...

  5. 【C#8.0 and .NET Core 3.0 高级编程学习笔记】

    @C#8.0 and .NET Core 3.0 高级编程学习笔记 前言 为了能精细地完成对C#语言的学习,我决定选择一本书,精读它,理解它,记录它.我想选择什么书并不是最重要的,最重要的是持之以恒的 ...

  6. 基于JAVA智友少儿编程学习平台计算机毕业设计源码+系统+数据库+lw文档+部署

    基于JAVA智友少儿编程学习平台计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA智友少儿编程学习平台计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构:B/S架构 ...

  7. 上千个国外免费权威优质编程学习课程大放送 —— 提升篇

    随着互联网的发展,像 MIT 和斯坦福等世界名校,都开始在网上公开一些优质的在线免费课程供大家学习.到现在,已经有来自全球共 1000 所左右的学校提供了非常多的优质课程,最有名的平台就是 MOOC. ...

  8. Unity之C#学习笔记(11):静态类型 Static

    前篇链接:Unity之C#学习笔记(10):接口和多态 Interfaces and Polymorphism 静态类型(Static)用一句话概括就是:在程序运行期间只会被创建一份的通用内容,用关键 ...

  9. Unity C# 网络学习(十一)——自定义协议生成工具

    Unity C# 网络学习(十一)--自定义协议生成工具 在开发网络游戏中,协议是必不可少的东西,一款游戏可能有非常多的协议,但是协议的重复性非常高,而且前端后端都需要,人工完成显然不现实,可以通过共 ...

最新文章

  1. 聊聊flink的StateTtlConfig
  2. proto文件支持继承吗_搞懂 Javascript中this 指向及继承原理
  3. python自动测试p-python自动化测试报告(excel篇)
  4. 赞!《Python面试大全》PDF版来啦!
  5. 架构书籍推荐:Java中高级、架构师值得一读!
  6. 请思考并描述下面python语句的输出结果print_Python语句print(type([1,2,3,4]))的输出结果是() 。...
  7. 28家知名IT公司名称的由来
  8. CANN5.0黑科技解密 | 高并发图片视频处理,为出行保驾,为生活添彩
  9. 【SpringMVC】SpringMVC: @RequestBody 和@ResponseBody 注解详解 NoHandlerFoundException
  10. [Python] L1-019. 谁先倒-PAT团体程序设计天梯赛GPLT
  11. Mac删除Windows10后空间丢失解决
  12. win10激活时间(win10激活时间查询)
  13. meson中自定义变量的使用
  14. 自动获取win10锁屏壁纸脚本
  15. 苹果手机绕过密码和指纹自动支付,细思极恐!
  16. matlab音频信号导入,如何将语音信号导入simulink中
  17. 一个假冒的序列号被用来注册Internet Download Manager。IDM正在退出...解决办法
  18. 分布式事务解决方案——TCC
  19. 最全面的github pages搭建个人博客教程
  20. GitHub怎么用?GitHub是什么?新手怎么用GitHub?图文并茂,不看都不行

热门文章

  1. 乔布斯为什么成为了改变世界的乔布斯?
  2. r730服务器导入阵列信息,r730服务器raid配置
  3. oracle查所有字段,oracle查询所有表和字段
  4. yolov5——基于yolov5的钢材表面缺陷识别
  5. 科研入门,在导师完全散养不管的状态下,怎么提升自己的科研能力?
  6. numpy中的 numpy.c_ numpy.ravel numpy.mgrid的理解
  7. 给数据结构初学者:跨过算法和程序之间的鸿沟
  8. D3D来实现2D的效果 的方法
  9. ZMQ之面向服务的可靠队列(管家模式)
  10. 张一鸣,那些跳不动的「弃子」