socket通信的KeepAlive默认时间是2小时,通过以下代码可以改变其时间,来检测socket通信过程中自网线,服务器网线断等事件
#include
#include "winsock2.h"
#include
#include
#pragma comment(lib, "Ws2_32.lib")
#include
#include "MSTcpIp.h"
using namespace std;
const int BUF_LEN = 1024;
class CDataSocket : public CAsyncSocket
{
public:
void OnConnect(int nErrorCode)
{
}
void OnReceive(int nErrorCode)
{
BYTE byBuf[BUF_LEN + 1];
int nRecv = Receive(byBuf, BUF_LEN);
do
{
byBuf[nRecv] = '\0';
}while ((nRecv = Receive(byBuf, BUF_LEN)) == BUF_LEN);
}
void OnClose(int nErrorCode)
{
}
};
void main()
{
AfxWinInit