Exemplo n.º 1
0
    /// <summary>
    /// 处理接收到的数据
    /// </summary>
    private void ProcessReceive()
    {
        isProcessingReceive = true;
        byte[] packet = EncodeTool.DecodePacket(ref receiveCache);
        if (packet == null)
        {
            isProcessingReceive = false;
            return;
        }
        NetMsg msg = EncodeTool.DecodeMsg(packet);

        netMsgQueue.Enqueue(msg);
        ProcessReceive();
    }
Exemplo n.º 2
0
    /// <summary>
    /// 处理接收到的数据
    /// </summary>
    private void ProcessReceive()
    {
        //Debug.Log("ClientPeer - ProcessReceive - 处理接收的数据");
        isProcessingReceive = true;
        // 将接收到的数据转成 NetMsg 对象
        byte[] packet = EncodeTool.DecodePacket(ref receiveCache);
        if (packet == null)
        {
            isProcessingReceive = false;
            return;
        }
        //Debug.Log("packe - " + packet.Length);
        NetMsg msg = EncodeTool.DecodeMsg(packet);

        //Debug.Log("处理接收到的数据");
        // 加入消息队列
        netMsgQueue.Enqueue(msg);
        ProcessReceive(); // 递归
    }
Exemplo n.º 3
0
    /// <summary>
    /// 处理收到的数据
    /// </summary>
    private void processReceive()
    {
        isProcessReceive = true;
        //解析数据包
        byte[] data = EncodeTool.DecodePacket(ref dataCache);

        if (data == null)
        {
            isProcessReceive = false;
            return;
        }

        SocketMsg msg = EncodeTool.DecodeMsg(data);
        //存储消息 等待处理
        SocketMsgQueue.Enqueue(msg);

        //尾递归
        processReceive();
    }
Exemplo n.º 4
0
    /// <summary>
    /// 处理收到的数据
    /// </summary>
    private void processReceive()
    {
        isProcessReceive = true;

        byte[] data = EncodeTool.DecodePacket(ref dataCache);

        if (data == null)
        {
            isProcessReceive = false;
            return;
        }

        SocketMsg msg = EncodeTool.DecodeMsg(data);

        //存储消息 等待处理
        socketMsgList.Enqueue(msg);
        //Debug.Log(msg.Value);

        //尾递归
        processReceive();
    }
Exemplo n.º 5
0
    /// <summary>
    /// process the receive data
    /// </summary>
    private void processReceive()
    {
        isProcessReceive = true;
        //decode data
        byte[] data = EncodeTool.DecodePacket(ref dataCache);

        if (data == null)
        {
            isProcessReceive = false;
            return;
        }

        SocketMsg msg = EncodeTool.DecodeMsg(data);

        //save data ,wait process
        SocketMsgQueue.Enqueue(msg);
        Debug.Log(msg.Value);

        //尾递归
        processReceive();
    }
Exemplo n.º 6
0
    private void ProcessData()
    {
        isProcessing = true;
        //拆包
        byte[] data = EncodeTool.DecodePacket(ref dataCache);
        //无完整包退出递归
        if (data == null)
        {
            Debug.LogError("拆包失败");
            isProcessing = false;
            return;
        }
        NetMessage msg = EncodeTool.Deserialize <NetMessage>(data);

        if (msg == null)
        {
            Debug.LogError("反序列化失败");
            isProcessing = false;
            return;
        }
        msgQueue.Enqueue(msg);
        ProcessData();
    }