TCP中如何判断,已建立一个socket后,对方断开了此连接
1、心跳方法我知道,但这次不知道对方的心不会跳
2、通过发送测试性数据是否成功的方法然后检测错误也不适用于这里,因为对方收到莫名奇妙的东西时会弹出来说有“垃圾信息”
3、有人说用recv()的方法,若返回值小于等于0就认为对方断开了,但是这次对方基本是哑巴,我recv一直收不到任何东西,只会阻塞在那儿
4、有人用WSAASyncSelect,我写的是WSAASyncSelect(m_sock, m_dlg->m_hWnd, WM_MYMSG, FD_CONNECT),然后在WindowProc的时候也没有找到对方断开后会发送什么暗号给我,这个方法我不会用
请教高人速速教我怎么不发送测试信息而又能及时判断对方断开了原先建立的socket(比如对方的程序关闭了)
分数就这么多了,抱歉。
2、通过发送测试性数据是否成功的方法然后检测错误也不适用于这里,因为对方收到莫名奇妙的东西时会弹出来说有“垃圾信息”
3、有人说用recv()的方法,若返回值小于等于0就认为对方断开了,但是这次对方基本是哑巴,我recv一直收不到任何东西,只会阻塞在那儿
4、有人用WSAASyncSelect,我写的是WSAASyncSelect(m_sock, m_dlg->m_hWnd, WM_MYMSG, FD_CONNECT),然后在WindowProc的时候也没有找到对方断开后会发送什么暗号给我,这个方法我不会用
请教高人速速教我怎么不发送测试信息而又能及时判断对方断开了原先建立的socket(比如对方的程序关闭了)
分数就这么多了,抱歉。
...全文
相关推荐
Socket判断远端网络是否断开,简单例子
Socket判断远端网络是否断开,简单例子。
TCP长连接Socket心跳收发消息
tcp长连接,与服务器端保持长连接,发送心跳包。保持连接。
Linux或Windows下判断socket连接状态
Linux或Windows下判断socket连接状态 测试代码
TCP链接异常断开检测程序
TCP是一种面向连接的协议,连接的建立和断开需要通过收发相应的分节来实现。某些时候,由于网络的故障或是一方主机的突然崩溃而另一方无法检测到,以致始终保持着不存在的连接。下面介绍一种方法来检测这种异常断开的情况
c# socket 通信demo 亲测可用,断开连接事件
.NET C#SOCKET通信DEMO,断开连接事件捕捉,重连功能。 亲测可用


网络编程
