Пример #1
0
    private void Update()
    {
        while (ReceiveUdpMessage.udpReveiveQueue.Count > 0)
        {
            var data = ReceiveUdpMessage.udpReveiveQueue.Dequeue();
            var msg  = MessageMgr.DecodeObject <MessageData>(data);
            switch (msg.msgType)
            {
            case MessageType.Text:
                if (!string.IsNullOrEmpty(msg.sender))
                {
                    CEventCenter.BroadMessage(Message.C_Chat, msg);
                }
                break;

            default:
                break;
            }
        }


        while (ReceiveTcpMessage.tcpReveiveQueue.Count > 0)
        {
            //print("???");
            var data = ReceiveTcpMessage.tcpReveiveQueue.Dequeue();
            //print("收到消息总长度:" + data.Length);
            //FileStream f = File.Create(Application.dataPath + "/Resources/jb.png");
            ////BinaryWriter bw = new BinaryWriter(f);
            //f.Write(data, 0, data.Length);
            //f.Close();

            var msg = MessageMgr.DecodeObject <MessageData>(data);

            if (msg == null)
            {
                Debug.LogError("msg为空");
            }

            switch (msg.msgType)
            {
            case MessageType.Text:
                if (!string.IsNullOrEmpty(msg.sender))
                {
                    CEventCenter.BroadMessage(Message.C_Chat, msg);
                }
                break;

            case MessageType.File:
                CEventCenter.BroadMessage(Message.C_File, msg);
                break;

            case MessageType.Number:
                CEventCenter.BroadMessage(Message.C_Number, msg);
                break;

            case MessageType.Sound:
                Debug.Log("客户端接收到!!!");
                CEventCenter.BroadMessage(Message.C_Sound, msg);
                break;

            default:
                break;
            }
        }
    }