Exemplo n.º 1
0
        private void ClientMessageReceived(object sender, MessageReceivedEventArgs e)
        {
            WebSocketWrapper wrapper = sender as WebSocketWrapper;
            string           message = e.Message;
            int index = message.IndexOf(' ');

            if (index <= 0)
            {
                return;
            }
            string command = message.Substring(0, index);
            string args    = "";

            if (index < message.Length - 1)
            {
                args = message.Substring(index + 1);
            }

            switch (command)
            {
            case "/add":
                if (args == "left")
                {
                    BoardCurrent.AddLeft();
                }
                else if (args == "right")
                {
                    BoardCurrent.AddRight();
                }
                Broadcast($"{{type: 'add', side: '{args}', left: {BoardCurrent.LeftCount}, right: {BoardCurrent.RightCount}}}");
                break;
            }
        }
Exemplo n.º 2
0
        private void ClientDisconnected(object sender, EventArgs e)
        {
            WebSocketWrapper wrapper = sender as WebSocketWrapper;

            lock (clients)
            {
                clients.Remove(wrapper.ConnectInformation.RemoteAddress);
                wrapper.Disconnected    -= ClientDisconnected;
                wrapper.MessageReceived -= ClientMessageReceived;
                wrapper.Dispose();
            }
        }
Exemplo n.º 3
0
        public WebSocketWrapper AddClient(HttpContext context, WebSocket socket)
        {
            WebSocketWrapper wrapper      = new WebSocketWrapper(context, socket);
            string           formatedaddr = wrapper.ConnectInformation.RemoteAddress;

            lock (clients)
            {
                wrapper.MessageReceived += ClientMessageReceived;
                wrapper.Disconnected    += ClientDisconnected;
                clients.Add(formatedaddr, wrapper);
                wrapper.Send($"{{type: 'set', title: '{BoardCurrent.Title}', leftimg: '{BoardCurrent.LeftImage}', rightimg: '{BoardCurrent.RightImage}', left: {BoardCurrent.LeftCount}, right: {BoardCurrent.RightCount}}}");
            }
            return(wrapper);
        }