소스 검색

Fix an issue which adds a delay after every accepted connection.

release/3.x.x
Christian 7 년 전
부모
커밋
8773117493
1개의 변경된 파일4개의 추가작업 그리고 20개의 파일을 삭제
  1. +4
    -20
      Frameworks/MQTTnet.NetStandard/Implementations/MqttServerAdapter.cs

+ 4
- 20
Frameworks/MQTTnet.NetStandard/Implementations/MqttServerAdapter.cs 파일 보기

@@ -110,22 +110,14 @@ namespace MQTTnet.Implementations
{
// It can happen that the listener socket is accessed after the cancellation token is already set and the listener socket is disposed.
}
catch (SocketException exception)
catch (Exception exception)
{
if (exception.SocketErrorCode == SocketError.OperationAborted)
if (exception is SocketException s && s.SocketErrorCode == SocketError.OperationAborted)
{
return;
}

_logger.Error<MqttServerAdapter>(exception, "Error while accepting connection at default endpoint.");
}
catch (Exception exception)
{
_logger.Error<MqttServerAdapter>(exception, "Error while accepting connection at default endpoint.");
}
finally
{
//excessive CPU consumed if in endless loop of socket errors
await Task.Delay(TimeSpan.FromSeconds(1), cancellationToken).ConfigureAwait(false);
}
}
@@ -153,22 +145,14 @@ namespace MQTTnet.Implementations
{
// It can happen that the listener socket is accessed after the cancellation token is already set and the listener socket is disposed.
}
catch (SocketException exception)
catch (Exception exception)
{
if (exception.SocketErrorCode == SocketError.OperationAborted)
if (exception is SocketException s && s.SocketErrorCode == SocketError.OperationAborted)
{
return;
}

_logger.Error<MqttServerAdapter>(exception, "Error while accepting connection at default endpoint.");
}
catch (Exception exception)
{
_logger.Error<MqttServerAdapter>(exception, "Error while accepting connection at TLS endpoint.");
}
finally
{
//excessive CPU consumed if in endless loop of socket errors
await Task.Delay(TimeSpan.FromSeconds(1), cancellationToken).ConfigureAwait(false);
}
}


불러오는 중...
취소
저장