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;
                    }
                }
            }
        }
Example #2
0
        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;
                        }
                    }
                }
            }
        }