TheEyeTribeWebSocketServer.WebsocketServer.HandleRequest C# (CSharp) Method

HandleRequest() private method

private HandleRequest ( HttpListenerContext context ) : void
context System.Net.HttpListenerContext
return void
        private async void HandleRequest(HttpListenerContext context)
        {
            Console.WriteLine("New Session.");
            var ws = (await context.AcceptWebSocketAsync(subProtocol: null)).WebSocket;
            clients.Add(ws);

            while (ws.State == WebSocketState.Open)
            {
                try
                {
                    var buf = new ArraySegment<byte>(new byte[1024]);
                    var ret = await ws.ReceiveAsync(buf, System.Threading.CancellationToken.None);

                    if (ret.MessageType == WebSocketMessageType.Close)
                    {
                        Console.WriteLine("Session Close.");
                        break;
                    }
                    Console.WriteLine("Got Message.");
                }
                catch
                {
                    break;
                }
            }

            clients.Remove(ws);
            ws.Dispose();
        }