Ejemplo n.º 1
0
    protected override void OnReceiveBody()
    {
        var message = Utils.DeSerialize <DawnMessage>(BodyBuffer);

        switch (message.cmd)
        {
        case Command.HeartbeatServer:
            var heart = new DawnMessage {
                cmd = Command.HeartbeatClient
            };
            var body = Utils.Serialize(heart);
            var pack = Utils.AddHeadProtocol(body);
            Debug.Log("回复心跳");
            Utils.SendMessage(Socket, pack);
            break;

        case Command.HeartbeatClient:
            Debug.LogError("心跳命令错误");
            break;

        case Command.ChatMessage:
            Debug.LogError("聊天信息命令错误");
            break;

        case Command.ReceiveChat:
            ProcessCommand.Instance.ChatQueue.Enqueue($"{message.nickName}:{message.charMessage}");
            break;

        default:
            Debug.LogError("命令错误");
            break;
        }
    }
Ejemplo n.º 2
0
 public void OnSendButtonClick()
 {
     if (chatInput.text != string.Empty)
     {
         /*
          * string addText = "\n  " + "<color=red>" + username + "</color>: " + chatInput.text;
          * chatText.text += addText;
          * chatInput.text = "";
          * chatInput.ActivateInputField();
          * Canvas.ForceUpdateCanvases();
          * scrollRect.verticalNormalizedPosition = 0f;
          * Canvas.ForceUpdateCanvases();
          */
         var msg = new DawnMessage
         {
             cmd         = Command.ChatMessage,
             nickName    = username,
             charMessage = chatInput.text,
         };
         var body = Utils.Serialize(msg);
         var pack = Utils.AddHeadProtocol(body);
         Utils.SendMessage(session.Socket, pack);
         chatInput.text = "";
         chatInput.ActivateInputField();
     }
 }