您当前的位置: 首页 >  网络

幻世界

暂无认证

  • 0浏览

    0关注

    237博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Unity手游网络通讯 Protobuf的逻辑《接收消息》

幻世界 发布时间:2019-02-20 15:29:30 ,浏览量:0

欢迎加入Unity业内qq交流群:956187480

qq扫描二维码加群

项目结束了就需要有个总结了。

1.消息事件接收

public void OnRecveHandler(object sender, RecvEvent e)
    {
        _dispatcher.AddData(e.Message, e.BytesTransferred);
    }
  public void AddData(byte[] data, int actualSize)
        {
            SocketData socketdata = new SocketData();
            socketdata.data = data;
            socketdata.actualSize = actualSize;
            mQueue.Enqueue(socketdata);
        }

2.实时监测消息队列


 public void Update()
    {
        _dispatcher.IncomingData();
    }

 public void IncomingData()
        {
            while (this.mQueue.Count > 0)
            {
                SocketData socketdata = (SocketData)this.mQueue.Dequeue();
                this.mIProcessData.IncomingData(socketdata.data, socketdata.actualSize);
            }
        }

3.处理消息队列的消息

 //拿到服务器的消息后处理一下
    public void IncomingData(byte[] data, int actualSize)
    {
        if (actualSize >= SocketClient.BUFFER_SIZE)
        {
            Debug.Log("当前大小 actualSize:" + actualSize);
            throw new Exception("Buffer Overflow!");
        }

        actualSize = data[3]             
关注
打赏
1660704426
查看更多评论
0.0386s