fixed: added catch error websocket

This commit is contained in:
2022-10-23 18:45:37 +04:00
parent 14ae5e8189
commit 8a149eb3b4
4 changed files with 14 additions and 13 deletions
+12 -4
View File
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Net;
using System.Net.WebSockets;
using System.Threading;
@@ -19,7 +20,7 @@ public class WebSocketServer : ISocketServer
private WebSocketTaskScheduler _webSocketScheduler;
private TaskFactory _taskFactory;
private HttpListener _httpListener;
public WebSocketServer(IEventHandler eventHandler)
{
_eventHandler = eventHandler;
@@ -53,9 +54,16 @@ public class WebSocketServer : ISocketServer
var buffer = new Memory<byte>(bytes);
while (webSocket.State == WebSocketState.Open)
{
var result = await webSocket.ReceiveAsync(buffer, CancellationToken.None);
var dataRaw = buffer.Slice(0, result.Count);
_eventHandler.OnData(peerId, dataRaw.ToArray());
try
{
var result = await webSocket.ReceiveAsync(buffer, CancellationToken.None);
var dataRaw = buffer.Slice(0, result.Count);
_eventHandler.OnData(peerId, dataRaw.ToArray());
}
catch (Exception ex)
{
break;
}
}
_eventHandler.OnDisconnected(peerId);