async Task HandleListenerContextAsync(HttpListenerContext context)
{
WebSocket webSocket = null;
try
{
var wsContext = await context.AcceptWebSocketAsync(WebSocketTransport.WebSocketSubProtocol);
var wsTransport = new ListenerWebSocketTransport(wsContext);
await this.listener.HandleTransportAsync(wsTransport);
}
catch(Exception exception)
{
Trace.WriteLine(TraceLevel.Error, exception.ToString());
if (webSocket != null)
{
webSocket.Abort();
}
}
}