【问题标题】:TCP Server crashes when client disconnects客户端断开连接时 TCP 服务器崩溃
【发布时间】:2015-10-26 12:01:05
【问题描述】:

如果我的客户端不正常地断开连接,我的 TCP 服务器将会崩溃。从 TCPServer 中创建的客户端读取时发生异常。

unable to read data from the transport connection

    public async void StartReadAsync() {
        while (await ReadAsync());
    }

    private async Task<bool> ReadAsync() {
        int amountRead = await stream.ReadAsync(readBuffer, 0, readBuffer.Length, cts.Token).ConfigureAwait(false);
}

客户端 DC 后,我在等待流上崩溃。ReadAsync。

【问题讨论】:

    标签: c# tcp


    【解决方案1】:

    将指令放入 TRY-CATCH 结构中

    try
    {
        int amountRead = await stream.ReadAsync(readBuffer, 0, readBuffer.Length, cts.Token).ConfigureAwait(false);
    }
    catch
    {
    }
    

    我不是假设您想知道异常本身,而只是为了避免程序崩溃。如果需要,您可以设置 CATCH 以显示正在执行的异常。

    查看更多信息: https://msdn.microsoft.com/pt-br/library/0yd65esw.aspx

    【讨论】:

      猜你喜欢
      • 2021-12-28
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多