示例#1
0
        private void webSocketClient_MessageReceived(object sender, MessageReceivedEventArgs e)
        {
            //收到消息后进行处理
            string rawMsgString = e.Message;

            Console.WriteLine("==> Websocket Recived Message: {0}", rawMsgString);
            try
            {
                WebSocketMessageTypes websocketMsgType = GetWebSocketMessageType(rawMsgString);
                if (websocketMsgType == WebSocketMessageTypes.Event)
                {
                }
                else if (websocketMsgType == WebSocketMessageTypes.Message)
                {
                    Console.WriteLine("@@@@@@@@@@@@@@@ WebSocket Client Receive Text Message:" + rawMsgString);
                }
                else if (websocketMsgType == WebSocketMessageTypes.Heartbeat)
                {
                    //向node.js回复心跳消息
                    if (m_ReadyState == WebSocketState.Open)
                    {
                        SendMessage(HEARTBEAT);
                    }
                }
            }
            catch (System.Exception ex)
            {
                Console.WriteLine("Recived Message Error:{0} ", ex);
            }
        }
示例#2
0
        private void webSocketClient_MessageReceived(object sender, MessageReceivedEventArgs e)
        {
            //收到消息后进行处理
            string rawMsgString = e.Message;

            GfxSystem.GfxLog("==> Websocket Recived Message: {0}", rawMsgString);
            LogSystem.Info("==> Websocket Recived Message: {0}", rawMsgString);
            try
            {
                WebSocketMessageTypes websocketMsgType = GetWebSocketMessageType(rawMsgString);
                if (websocketMsgType == WebSocketMessageTypes.Event)
                {
                    //处理事件消息
                    JsonMessage msg           = null;
                    string      jsonMsgString = "";
                    string      eventName     = HandleRawMsg(rawMsgString, out jsonMsgString);
                    int         msgId         = int.Parse(eventName);
                    Type        type          = m_JsonMsgDispatcher.GetMessageType(msgId);
                    msg = JsonConvert.DeserializeObject(jsonMsgString, type) as JsonMessage;
                    if (msg != null)
                    {
                        msg.m_ID = msgId;
                        m_JsonMsgDispatcher.HandleJsonMessage(msg);
                    }
                }
                else if (websocketMsgType == WebSocketMessageTypes.Message)
                {
                    GfxSystem.GfxLog("!!!!!! Text Message: {0}", rawMsgString);
                    int         msgId   = 0;
                    JsonMessage msg     = null;
                    string[]    rawArgs = rawMsgString.Split(SPLITTER_VERTICAL, 2);
                    if (rawArgs.Length == 2)
                    {
                        int id;
                        if (int.TryParse(rawArgs[0], out id))
                        {
                            msgId = id;
                        }
                        GfxSystem.GfxLog("!!!!!! Client recive message id : {0}", msgId);
                        Type type = m_JsonMsgDispatcher.GetMessageType(msgId);
                        msg = JsonConvert.DeserializeObject(rawArgs[1], type) as JsonMessage;
                        if (msg != null)
                        {
                            GfxSystem.GfxLog("!!!!!! Client recive message: {0}", msg);
                        }
                    }
                }
                else if (websocketMsgType == WebSocketMessageTypes.Heartbeat)
                {
                    //向node.js回复心跳消息
                    AnswerHeartbeat();
                }
            }
            catch (System.Exception ex)
            {
                GfxSystem.GfxLog("Recived Message Error:{0} ", ex);
            }
        }