客户端断开连接时TCP服务器崩溃

时间:2015-10-26 03:08:29

标签: c# tcp

如果我的客户端无法正常断开连接,我的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);
}

我在await stream.ReadAsync上崩溃,一旦客户端DC。

1 个答案:

答案 0 :(得分: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