比如A,B建立TCP连接。A突然断线,B怎样判断已断开?或者有没有现成的API来检测SOCKET是否有效?新手,呵呵。
解决方案 »
- VS2010的.NET Framework4.0转换成.NET Framework2.0.并且2008可以用
- VC做串口通信组选择框的问题
- VC程序,按F5运行总是进入汇编语言,并且再按F5程序无法启动
- 如何获得一个文件的句柄?
- 这些API怎么调用?为何老是报“undeclared identifier”?#include <tlhelp32.h>已经加了(内有源代码)
- 用ADO打开数据库时,数据量太大,需分批打开,有没有什么好的解决方案?
- 怎么使对话框最大化?
- 关于CharLower?
- 求助:如何实现画一个活动的圆
- 多线程同步退出问题
- 为什么创建的无模式对话框看得见点不了?
- VC6.0装载项目错误,无法观看类结构
我用的就是send一些数据,WSAGetLastError返回WSAENOTSOCK这样方法判断的。
我想知道有没有好一点的方法to wei801004:
你很幽默^_^
if (sock == INVALID_SOCKET)
{
//bao cuo
}
。。
是已连接,A突然断线。我没描述清楚。-_-!
TCP协议在没有数据传输的时候是静默的,不发送任何包,
所以测试SOCKET是错误的,
目前的解决办法只有依靠应用协议层的心跳包来解决,
但是记住不要使用TCP协议里的心跳,否则你的SERVER怎么死都不知道,因为最少要2个小时确认一次