我已经创建了一个多线程 TCP 服务器。当客户端断开连接时,我收到
“现有连接被远程主机强行关闭”错误。
除了捕获错误之外,处理远程客户端断开连接的最佳方法是什么?
最佳答案
假设您的服务器正在处理连接以等待传入数据:
当您从 Socket 或 NetworkStream 读取时,Read 函数将返回 0,这清楚地表明您已与远程客户端断开连接。
NetworkStream in = ...;
...
readed = await in.ReadAsync(buffer, count, available);
if( readed == 0 ){
// we are disconnected.
}
关于c# - 如何正确处理 "existing connection forcibly closed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23683581/