public void HandleFrameMessage(ResponseSocket server, NetMQMessage msg) { Debug.Log ("Handling Message"); if (logTimingInfo || logSimpleTimeInfo) { DateTime newTime = DateTime.Now; Debug.LogFormat("Time since received last msg: {0} ms", newTime.Subtract(_timeForLastMsg).TotalMilliseconds); _timeForLastMsg = newTime; } if (debugNetworkMessages) Debug.LogFormat("Received Msg on Server: {0}", ReadOutMessage(msg)); string msgHeader = msg.First.ConvertToString(); JsonData jsonData = msg.ReadJson(out msgHeader); if (jsonData == null) { Debug.LogError("Invalid message from client! Cannot parse JSON!\n" + ReadOutMessage(msg)); return; } if (msgHeader == null) { Debug.LogError("Invalid message from client! No msg_type!\n" + jsonData.ToJSON()); return; } switch(msgHeader.ToString()) { case MSG_R_Terminate: Application.Quit (); break; case MSG_R_ClientJoin: OnClientJoin(server, jsonData); RecieveClientInput(server, jsonData); break; case MSG_R_FrameInput: RecieveClientInput(server, jsonData); break; case MSG_R_ClientJoinWithConfig: Debug.Log ("Config received!"); ReceiveSceneSwitch (server, jsonData); Debug.Log ("Config handled!"); break; case MSG_R_SceneSwitch: ReceiveSceneSwitch(server, jsonData); break; default: Debug.LogWarningFormat("Invalid message from client! Unknown msg_type '{0}'\n{1}", msgHeader, jsonData.ToJSON()); break; } }
// Used for debugging without an agent public void HandleClientFrameMessage(RequestSocket client, NetMQMessage msg) { if (debugNetworkMessages) Debug.LogFormat("Received Msg on Client: {0}", ReadOutMessage(msg)); string msgHeader = msg.First.ConvertToString(); // Hack to avoid slow parsing of long json values since we're not reading it anyways JsonData jsonData = null; if (msg.FrameCount > 0) { string jsonString = msg[0].ConvertToString(); if (jsonString != null && jsonString.Length > 1000) { msgHeader = MSG_S_FrameData; jsonData = CreateMsgJson(msgHeader); } else jsonData = msg.ReadJson(out msgHeader); } if (jsonData == null) { Debug.LogError("Invalid message from server! Cannot parse JSON!\n" + ReadOutMessage(msg)); return; } if (msgHeader == null) { Debug.LogError("Invalid message from server! No msg_type!\n" + jsonData.ToJSON()); return; } switch(msgHeader.ToString()) { case MSG_S_ConfirmClientJoin: SimulateClientInput(client, jsonData, msg); break; case MSG_S_FrameData: SimulateClientInput(client, jsonData, msg); break; default: Debug.LogWarningFormat("Invalid message from server! Unknown msg_type '{0}'\n{1}", msgHeader, jsonData.ToJSON()); break; } }