`
icrwen
  • 浏览: 262196 次
  • 性别: Icon_minigender_2
  • 来自: 济南
社区版块
存档分类
最新评论

游戏开发之---通信

阅读更多

原文引用:http://www.xuanyusong.com/archives/1948

1、socket通信

   

    Socket不要写在脚本上,如果写在脚本上游戏场景一旦切换,那么这条脚本会被释放掉,Socket会断开连接。场景切换完毕后需要重新在与服务器建立Socket连接,这样会很麻烦。所以我们需要把Socket写在一个单例的类中,不用继承MonoBehaviour。这个例子我模拟一下,主角在游戏中移动,时时向服务端发送当前坐标,当服务器返回同步坐标时角色开始同步服务端新角色坐标。在客户端制定一个单例模式的对象来管理socket,然后再建立异步连接,当连接成功时调用回调方法,然后再开启线程接受服务器发来的数据。

Socket在发送消息的时候采用的是字节数组,也就是说无论你的数据是 int float short object 都会将这些数据类型先转换成byte[] , 目前在处理发送的地方我使用的是数据包,也就是把(角色坐标)结构体object转换成byte[]发送, 这就牵扯一个问题, 如何把结构体转成字节数组, 如何把字节数组回转成结构体。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics