测试心跳

#include #include #include #include SOCKET sockClient; SOCKADDR_IN clientSrv; char recvBuf[100]; HANDLE hThread; void CALLBACK TimeProc ( HWND hwnd, UINT message, UINT idTimer, DWORD dwTime ); DWORD WINAPI Fun1(LPVOID lpParameter); DWORD WINAPI Fun2(LPVOID lpParameter); void main() { WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD( 2, 2 ); err = WSAStartup( wVersionRequested, &wsaData ); if ( err != 0 ) { return; } if ( LOBYTE( wsaData.wVersion ) != 2 || HIBYTE( wsaData.wVersion ) != 2 ) { WSACleanup( ); return; } sockClient=socket(AF_INET,SOCK_STREAM,0); char *pIP=(char*)malloc(sizeof(char)*10); char *strHostName=(char*)malloc(sizeof(char)*10); DWORD dwIP=0; strHostName="xxxxx"; //此处写上自己的域名 HOSTENT *pHS=gethostbyname(strHostName); if(pHS==NULL) { return; } pIP=inet_ntoa(*((in_addr*)pHS->h_addr_list[0])); clientSrv.sin_addr.S_un.S_addr=inet_addr(pIP); clientSrv.sin_family=AF_INET; clientSrv.sin_port=htons(12345); while(1) { if(connect(sockClient,(SOCKADDR*)&clientSrv,sizeof(SOCKADDR))==SOCKET_ERROR) { Sleep(3000); closesocket(sockClient); sockClient=socket(AF_INET,SOCK_STREAM,0); continue; } else break; } hThread=CreateThread(NULL,0,Fun1,0,0,0); CloseHandle(hThread); UINT timerid=SetTimer(NULL,1,2000,TimeProc); MSG msg; while(GetMessage(&msg,NULL,0,0)) { if(msg.message==WM_TIMER) { DispatchMessage(&msg); } } KillTimer(NULL,timerid); closesocket(sockClient); WSACleanup(); } void CALLBACK TimeProc ( HWND hwnd, UINT message, UINT idTimer, DWORD dwTime ) { send(sockClient,"心跳测试",strlen("心跳测试")+1,0); } DWORD WINAPI Fun1(LPVOID lpParameter) { while (1) { if (connect(sockClient,(SOCKADDR*)&clientSrv,sizeof(SOCKADDR))==SOCKET_ERROR) { int i=::WSAGetLastError(); if (i==10056) { if(recv(sockClient,recvBuf,100,0)==SOCKET_ERROR) { cout< <
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值