public override void OnMessage(string message) { var websocketMessage = JsonConvert.DeserializeObject <WebSocketMessage>(message); if (websocketMessage != null) { var webSwitchMessageHandler = MessageHandlerFactory.GetMessageHandler(websocketMessage.Type, SiteId, UserId); var result = webSwitchMessageHandler.ProcessMessage(websocketMessage); if (result != null) { switch (result.BroadcastType) { case WebSocketBroadcastType.Pi: WebSocketSession.SendToPi(JsonConvert.SerializeObject(result)); break; case WebSocketBroadcastType.Web: WebSocketSession.SendToWeb(JsonConvert.SerializeObject(result)); break; case WebSocketBroadcastType.All: WebSocketSession.Broadcast(JsonConvert.SerializeObject(result)); break; case WebSocketBroadcastType.Others: break; } } } }
public override void OnMessage(string message) { var webSocketMessage = JsonConvert.DeserializeObject <WebSocketMessage>(message); if (webSocketMessage != null) { if (!IsAuthenticated) { var handler = new AuthenticationHandler(SiteId); var result = handler.ProcessMessage(webSocketMessage); IsAuthenticated = handler.IsAuthenticated; Send(JsonConvert.SerializeObject(result)); } else { var webSwitchMessageHandler = MessageHandlerFactory.GetMessageHandler(webSocketMessage.Type, SiteId); var result = webSwitchMessageHandler.ProcessMessage(webSocketMessage); if (result != null) { switch (result.BroadcastType) { case WebSocketBroadcastType.Pi: WebSocketSession.SendToPi(JsonConvert.SerializeObject(result)); break; case WebSocketBroadcastType.Web: WebSocketSession.SendToWeb(JsonConvert.SerializeObject(result)); break; case WebSocketBroadcastType.All: WebSocketSession.Broadcast(JsonConvert.SerializeObject(result)); break; } } } } }