- 论坛徽章:
- 0
|
int spider_readn(CSocket *sockClient, char *buf, int nbytes)
{
memset(buf, 0, sizeof(buf));
if ( nbytes Receive(buf+dwRead, nbytes-dwRead);
if ( retval 4)//120
{
g_nSeq+=1;
if (g_HBsend)
{
char data[TcpMsg_Len]={0};
char achseq[TcpMsg_Len-TcpHead_Len]={0}; sprintf(achseq,"hb%dsingle",g_nSeq);
sprintf(data,"%.5d%s",strlen(achseq),achseq);
if(g_sockClient.Send(data,strlen(data))==SOCKET_ERROR)
{
writelog("[ send HBmsg ]fail ??????",0);
StartTcp();
}else{
writelog("[ send HBmsg ]succeed ......",0);
fd_set fds_t;
struct timeval tvSelect;
tvSelect.tv_sec = 0;
tvSelect.tv_usec = 500 * 1000;//500ºÁÃë
FD_ZERO(&fds_t);
FD_SET(g_sockClient.m_hSocket, &fds_t);
if ( select(FD_SETSIZE, &fds_t, NULL, NULL, &tvSelect) >= 0 )
{
if ( FD_ISSET(g_sockClient.m_hSocket, &fds_t) )// g_udpsock > 0 &&
{
memset(data,0,sizeof(data));
spider_readn(&g_sockClient,data,strlen(achseq)+TcpHead_Len);
writelog("[ receive HBmsg ]succeed ......",0,data,1);
}
}
}
}
nHB=0;
}
Sleep(500);
}
g_sockClient.Close();
return 0;
}
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/11458/showart_204238.html |
|