Example #1
0
        internal override void HandleEnvelope(object sender, EnvelopeEventArgs e)
        {
            ChatEnvelope chatEnvelope = e.Envelope;
            ChatMessage  chatMessage  = chatEnvelope.Message;

            var cmdInvoker      = new CommandsInvoker();
            var chatUserSession = base.chatRoom.UserSession;

            cmdInvoker.AddCommand(new CmdChatRegister(chatUserSession, chatMessage));
            cmdInvoker.AddCommand(new CmdReceiveChat(chatUserSession, chatMessage));
            cmdInvoker.AddCommand(new CmdReceiveBroadcastNewUser(chatUserSession, chatMessage));
            cmdInvoker.AddCommand(new CmdReceiveBroadcastEndSession(chatUserSession, chatMessage));
            cmdInvoker.InvokeAll();
        }
        // Way IN: Receiving information
        public void Client_ReceiveReady(object sender, NetMQSocketEventArgs e)
        {
            string msgJson = e.Socket.ReceiveFrameString();

            if (!string.IsNullOrEmpty(msgJson))
            {
                ChatMessage chatMessage = msgJson.ToChatMessage();

                var cmdInvoker      = new CommandsInvoker();
                var chatUserSession = this.ChatRoom.UserSession;
                cmdInvoker.AddCommand(new CmdChatRegister(chatUserSession, chatMessage));
                cmdInvoker.AddCommand(new CmdReceiveChat(chatUserSession, chatMessage));
                cmdInvoker.AddCommand(new CmdReceiveBroadcastNewUser(chatUserSession, chatMessage));
                cmdInvoker.AddCommand(new CmdReceiveBroadcastEndSession(chatUserSession, chatMessage));
                cmdInvoker.InvokeAll();
            }
        }