首页 文章

.NET TCPClient连接状态

提问于
浏览
1

背景

我正在通过TCP连接与服务器通信(当然我无法触摸) . 我连接的应用程序需要两个连接 . 一个是“我想连接”,握手类型的东西,另一个是在不同的端口上,用于实际连接 . 经过几天的攻击,我发现,为了接受第二个连接,第一个断开连接(FIN)必须由服务器启动(它立即执行) . 如果客户端启动断开连接,则第二个连接将被拒绝 .

问题:

我已经阅读了很多关于此的帖子,我知道TCP连接以及如何通过断开连接,断线,意外关机等方式做出响应 . 但有没有办法检测远程服务器已正确断开连接而不尝试向其写入数据 .

再说一次,我不是在谈论掉线,断线等等 . 我想知道服务器何时发送我已经确认的FIN段 . 听起来很简单吧?

1 回答

  • 2

    如果我已正确理解NetworkStream -documentation . 当您从NetworkStream(同步或异步)读取并返回0字节时,表示远程方已关闭连接 . 即,FIN已被确认 .

相关问题