C# Tcp ip 不需要发送数据包判断连接状态

2024-12-16 12:37:53
推荐回答(4个)
回答1:

对端程序挂掉的话(但是系统没有),会有异常抛出,处理就可以了

如果是线路异常或对端连系统都挂掉,
参考
http://www.csharpwin.com/csharpspace/12716r7442.shtml

回答2:

断开的时候回传状态啊

回答3:

1)在理想情况下,tcp server 与 tcp client双方都能“感知”到之间的连接断开。之所以能感知到,全依赖icmp协议的功劳。
2)在实际情况下,tcp server 与 tcp client利用icmp来维护长时间连接的可靠性的做法并不现实。因为,当tcp server 与 tcp client之间跨越多个网络时,很可能其中的某个网络基于安全型关闭了icmp,这往往回答导致tcp server 与 tcp client之间“虚假连接”——即实际连接早就断开而程序却以为连接仍然存在。
3)所以,要想维护一个长时间tcp连接,最可靠和可行的方法是通过发送并检验用户数据来确定连接是否断开。

回答4:

你应该会一直有Reveive吧,不管是同步还是异步。客户端断开时,这个函数会立即返回。