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)); } }
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; } } }