C# Tcp ip 不需要发送数据包判断连接状态
我使用的是tcpip连接方式,当客户端断开,服务器段怎么立即知道两个连接已经断开了。不需要我定时发送数据来验证。根据tcpip性质应该可以,还请各位大神请教。...
我使用的是tcpip连接方式,当客户端断开,服务器段怎么立即知道两个连接已经断开了。不需要我定时发送数据来验证。根据tcpip性质应该可以,还请各位大神请教。
展开
4个回答
展开全部
对端程序挂掉的话(但是系统没有),会有异常抛出,处理就可以了
如果是线路异常或对端连系统都挂掉,
参考
http://www.csharpwin.com/csharpspace/12716r7442.shtml
如果是线路异常或对端连系统都挂掉,
参考
http://www.csharpwin.com/csharpspace/12716r7442.shtml
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
断开的时候回传状态啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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连接,最可靠和可行的方法是通过发送并检验用户数据来确定连接是否断开。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你应该会一直有Reveive吧,不管是同步还是异步。客户端断开时,这个函数会立即返回。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询