Unity网络游戏实战学习
文章平均质量分 78
FutureDr
新生代农民工
展开
-
Unity网络游戏编程学习(六)
Unity网络游戏编程学习(六)—— 正确收发数据流完整发送数据高效接收数据示例程序客户端代码服务器代码学习《Unity3D网络游戏实战》(第二版)时的学习笔记上一篇:Unity网络游戏编程学习(五)完整发送数据高效接收数据示例程序客户端代码具体的方法解释请看代码中的注释ByteArray.csusing System;/// <summary>/// 封装缓冲区、读写位置和数据长度的类,是一种byte型缓冲结构/// </summary>public c原创 2021-04-12 20:35:01 · 275 阅读 · 0 评论 -
Unity网络游戏编程学习(五)
这里写目录标题解决沾包的方法长度信息法固定长度法结束符号法三级目录解决沾包的方法一般有三种方法可以解决沾包和半包问题,分别是长度信息法,固定长度法和结束符号法长度信息法长度信息法是在每个数据包前加上长度信息。每次接收数据后,先读取表示长度的自己,如果缓冲区的数据长度大于要读取的字节数,则取出相应的字节,否则等待下一次数据接收。固定长度法每次都以相同的长度发送数据,假设固定长度为10个字符,那么“Hello”可以发送成“Hello…”,其中的“.”为填充字符,是为了凑数,没有实际意义。接收方每次读原创 2021-03-14 19:44:48 · 327 阅读 · 0 评论 -
Unity网络游戏编程学习(四)
Unity网络游戏编程学习(四)多路复用Select示例程序学习《Unity3D网络游戏实战》(第二版)时的学习笔记上一篇:Unity网络游戏编程学习(三)多路复用Select多路服用就是同时处理多路信号,比如同时检测多个Socket的状态,可以用这个方法解决Poll服务端中CPU占用率过高的问题。Select可以确定一个或多个Socket对象的状态。使用它是,需要先将一个或多个套接字放入IList中。再调用Select后,Select将修改IList列表,仅保留那些满足条件的套接字。当没有任何可原创 2020-08-05 10:52:30 · 309 阅读 · 0 评论 -
Unity网络游戏编程学习(三)
Unity网络游戏编程学习(三)状态检测示例程序服务器学习《Unity3D网络游戏实战》(第二版)时的学习笔记上一篇:Unity网络游戏编程学习(二)状态检测比起使用异步程序,同步程序更简单明了,而且不会引发线程问题。只需要在阻塞方法前机上一层判断,有数据可读才调用Receive,有数据可写才调用Send,既能实现功能,又不会卡住程序,于是给Socket提供了Poll方法。Poll方法将检查Socket的状态,如果不想让方法阻塞,将等待参数设置为0即可。示例程序使用Poll方法写的服务器端程序,原创 2020-08-04 17:14:13 · 686 阅读 · 1 评论 -
Unity网络游戏编程学习(二)
Unity网络游戏编程学习(二)异步回调示例程序服务器客户端运行效果异步回调等待补充示例程序服务器服务器程序有两个类ClientState类是用于保存用户状态信息的,MainClass类是程序的主类//这个类用于保存客户端的信息 class ClientState { public Socket socket; public byte[] recvBuffer = new byte[1024]; public string rec原创 2020-07-31 17:01:58 · 523 阅读 · 0 评论 -
Unity网络游戏编程学习(一)
Unity网络游戏编程学习(一)Socket通讯流程简单的示例程序服务器学习《Unity3D网络游戏实战》(第二版)时的学习笔记Socket通讯流程简单的示例程序服务器原创 2020-07-29 11:04:31 · 1070 阅读 · 0 评论