2024年4月18日
连接体IOCPToken里,还有俩SendMsg的函数; 其中第一个,把msg的网络包,通过IOCPTool工具类的Serialize函数接口,完成序列化,和PackLenInfo函数接口,打包tcp网络消息包,变成字节数组bytes,再传参到,重载的,第二个SendMsg函数接口……
协奏
2024年4月17日
#unity/日常积累 Buffer.BlockCopy的详细文档 语法 将从指定偏移量开始的源数组中指定数量的字节复制到以特定偏移量开始的目标数组。 1 2 3 4 5 6 7 public static void BlockCopy( Array src, int srcOffset, Array dst, int dstOffset, int count ) 参数 src 类型:System.Array 源缓冲区。 srcOffset 类型: System.Int32 基于零的字节偏移到src中。 dst 类型:……
协奏
2024年4月17日
#unity/日常积累 IOCP介绍 输入输出完成端口(Input/Output Completion Port,IOCP), 是支持多个同时发生的异步I/O操作的应用程序编程接口。 IOCP特别适合C/S模式网络服务器端模型。因为,让每一个socket有一个线程负 责同步(阻塞)数据处理,one-thread……
协奏
2024年4月17日
#unity/日常积累 SocketAsyncEventArgs.LastOperation 属性 参考 定义 命名空间: System.Net.Sockets 程序集: System.Net.Sockets.dll 获取最近使用此上下文对象执行的套接字操作类型。 1 public System.Net.Sockets.SocketAsyncOperation LastOperation { get; } 属性值 SocketAsyncOperation 一个 SocketAsyncOperation 实例,指示最近使用此上下文对象执行的套接字操作类型。 注解 此属性描述最近使用此 SocketAsyncEventArgs 对象完成的异步套接字操作。 此属性的值将 SocketAsyncOperation.None 一直 SocketAsyncEventArgs 用于启动异步套接字操作。……
协奏
2024年4月17日
#unity/日常积累 Socket.ReceiveAsync 方法 参考 反馈 定义 命名空间: System.Net.Sockets 程序集: System.Net.Sockets.dll ReceiveAsync(ArraySegment<Byte>) Source: Socket.Tasks.cs 接收连接的套接字发出的数据。 1 public System.Threading.Tasks.Task<int> ReceiveAsync (ArraySegment<byte> buffer); 参数 buffer ArraySegment<Byte> 接收的数据的缓冲区。 返回 Task<Int32> 以收到的字节数完成的异步任务。 ReceiveAsync(IList<ArraySegment<Byte>>) Source: Socket.Tasks.cs 接收连接的套接字发出的数据。 1 public System.Threading.Tasks.Task<int> ReceiveAsync (System.Collections.Generic.IList<ArraySegment<byte>> buffers); 参数 buffers IList<ArraySegment<Byte» 接收的数据的缓冲区列表。 返回 Task<Int32> 以收到的字节数完成的异步……
协奏
2024年4月17日
#unity/日常积累 定义 命名空间: System.Net.Sockets 程序集: System.Net.Sockets.dll 获取在套接字操作中传输的字节数。 1 public int BytesTransferred { get; } 属性值 Int32 一个 Int32,包含在套接字操作中传输的字节数。 注解 此属性提供异步套接字操作中传输的字节数,这些字节可以接收或发送数据。 如果从读取操作返回零,则远程端已关闭连接。 此属性由除方法以……
协奏
2024年4月17日
#unity/日常积累 SocketAsyncEventArgs 类 参考 反馈 定义 命名空间: System.Net.Sockets 程序集: System.Net.Sockets.dll Source: SocketAsyncEventArgs.cs 表示异步套接字操作。 1 public class SocketAsyncEventArgs : EventArgs, IDisposable 继承 Object EventArgs SocketAsyncEventArgs 实现 IDisposable 示例 下面的代码示例为使用 SocketAsyncEventArgs 类的套接字服务器实现连接逻辑。 接受连接后,从客户端读取的所有数据都发送回客户端。 继续读取并回显到客户端模式,直到客户端断开连接。 此示例使用的……
协奏
2024年4月17日
回到场景相关的BattleStage逻辑,TickStage函数接口,后续会在while循环中,不断调用; 其中的具体逻辑,首先是调用RandomServerAI函数接口,让服务器创建的Entity实体,任意移动; 然后,从enterOPQue队列中,出队,获取新加入的Entity实……
协奏
2024年4月17日
回到AOICell地图方块类,CellOpEnum枚举,标识的是,玩家实体,进入、移动、退出,该cell地图方块的状态 AddCellOp函数接口,是根据上述CellOpEnum实体状态; 判断该entity实体,是加入到,对应该地图方块的UpdateItem实体更新逻辑cellUp……
协奏
2024年4月16日
#unity/日常积累 定义 命名空间: System.Collections.Generic 程序集: System.Collections.dll 从当前 HashSet 对象中移除指定集合中的所有元素。 参数 other IEnumerable 要从 HashSet 对象中移除的项的集合。 实现 ExceptWith(IEnumerable)……
协奏