.NET TCP客户端连接状态 背景
我正在通过TCP连接与服务器通信(当然,我不能接触)。我连接到的应用程序需要两个连接。一个是“我想连接”,握手类型的东西,另一个是另一个端口,用于实际连接。在我的头撞了几天之后,我发现要接受第二个连接,第一个断开连接(FIN)必须由服务器启动(它会立即启动)。如果客户端启动断开连接,则第二个连接将被拒绝 问题: 我读过很多关于这方面的帖子,我知道TCP连接,以及你如何无法真正知道连接是否处于活动状态等等(请不要用断开的连接、断线、意外关闭等来回应)。但是,是否有任何方法可以检测到远程服务器已正确断开连接,而无需尝试向其写入数据 再说一遍,我不是在说断开的连接、断开的线路等等。我想知道服务器何时发送我已确认的FIN段。听起来很简单,对吗?如果我正确理解了-文档的话。当您从NetworkStream(同步或异步)执行读取时,它返回0字节,这意味着远程方已关闭连接。也就是说,FIN已确认。是,NetworkStream.Read()将阻塞,直到远程客户端断开连接。正是我想要的。谢谢.NET TCP客户端连接状态 背景,.net,sockets,networking,tcp,tcpclient,.net,Sockets,Networking,Tcp,Tcpclient,我正在通过TCP连接与服务器通信(当然,我不能接触)。我连接到的应用程序需要两个连接。一个是“我想连接”,握手类型的东西,另一个是另一个端口,用于实际连接。在我的头撞了几天之后,我发现要接受第二个连接,第一个断开连接(FIN)必须由服务器启动(它会立即启动)。如果客户端启动断开连接,则第二个连接将被拒绝 问题: 我读过很多关于这方面的帖子,我知道TCP连接,以及你如何无法真正知道连接是否处于活动状态等等(请不要用断开的连接、断线、意外关闭等来回应)。但是,是否有任何方法可以检测到远程服务器已正确