C# Tcp ip 不需要发送数据包判断连接状态
答案:4 悬赏:80 手机版
解决时间 2021-03-26 20:08
- 提问者网友:浪荡绅士
- 2021-03-26 00:37
C# Tcp ip 不需要发送数据包判断连接状态
最佳答案
- 五星知识达人网友:woshuo
- 2021-03-26 01:11
1)在理想情况下,tcp server 与 tcp client双方都能“感知”到之间的连接断开。之所以能感知到,全依赖icmp协议的功劳。
2)在实际情况下,tcp server 与 tcp client利用icmp来维护长时间连接的可靠性的做法并不现实。因为,当tcp server 与 tcp client之间跨越多个网络时,很可能其中的某个网络基于安全型关闭了icmp,这往往回答导致tcp server 与 tcp client之间“虚假连接”——即实际连接早就断开而程序却以为连接仍然存在。
3)所以,要想维护一个长时间tcp连接,最可靠和可行的方法是通过发送并检验用户数据来确定连接是否断开。
2)在实际情况下,tcp server 与 tcp client利用icmp来维护长时间连接的可靠性的做法并不现实。因为,当tcp server 与 tcp client之间跨越多个网络时,很可能其中的某个网络基于安全型关闭了icmp,这往往回答导致tcp server 与 tcp client之间“虚假连接”——即实际连接早就断开而程序却以为连接仍然存在。
3)所以,要想维护一个长时间tcp连接,最可靠和可行的方法是通过发送并检验用户数据来确定连接是否断开。
全部回答
- 1楼网友:何以畏孤独
- 2021-03-26 02:55
断开的时候回传状态啊
- 2楼网友:野慌
- 2021-03-26 02:13
你应该会一直有Reveive吧,不管是同步还是异步。客户端断开时,这个函数会立即返回。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯