예제 #1
0
        private async void AcceptHandler()
        {
            while (working)
            {
                var context = await listener.GetContextAsync();

                if (!context.Request.IsWebSocketRequest)
                {
                    context.Response.Close();
                    continue;
                }
                var socket = await context.AcceptWebSocketAsync(null);

                owner.ConnectMe(new DestinationClient(new WebSocketProtocol(socket.WebSocket), owner, context.Request.RemoteEndPoint));
            }
        }
예제 #2
0
        private async void AcceptHandler()
        {
            try
            {
                while (working)
                {
                    var client = await listener.AcceptTcpClientAsync();

                    var destinationClient = new DestinationClient(new TcpProtocol(client), owner, client.Client.RemoteEndPoint);
                    owner.ConnectMe(destinationClient);
                }
            }
            catch (ObjectDisposedException exception)
            {
                if (working)
                {
                    throw;
                }
            }
        }