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); } }
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); } }