项目开发笔记 (六)
Unity中的网络组件难用得要死,于是我自己使用C#自带的socket封装后实现了一个,代码几乎没有用任何C#的高级特性。所以可读性上应该没任何难度的。这个代码本来是项目中不可对外的,不过现在也无所谓了。刚好之前在群里看到有很多朋友找现成的封装,这个就是了哟。
代码结构
简略说明
数据包头设计成6字节,压缩到最小了,其实可以4字节都OK,不过前面两个标识字节感觉还是有点用的,数据包结构如下:
0 | 1 | 2,3 | 4,5 | 6,buffLenght |
---|---|---|---|---|
8D | 8H | 数据包长度信息 | 消息id | 具体消息数据 |
数据包长度只给了2字节,也就是 0~65535byte,我觉得数据包这个范围已经足够,消息ID也给了两个字节,也就是 ID号的范围为 0~65535 一般中型的网络游戏 不会多到有6W种不同的消息吧?
收发数据我使用了两个子线程去处理(也可以把收发数据全部放到一个子线程中)
剩下的和其他语言的网络封装没任何实际性的差别,大家看代码即懂
怎么联系您了我的qq330892696