- 论坛徽章:
- 0
|
SOCKET长连接的问题。。。高手帮忙!!!
/*****************************************************************
* 名称:TcpSetKeepAlive
* 功能:设置长连接方式,须系统支持
* 调用:在创建SOCKET时,sock为已创建的socket描述符
* iCkTime是长连接方式下的检测间隔时间(以秒计)
* 返回值:SUCCESS--成功;FAIL--失败
*****************************************************************/
int TcpSetKeepAlive(int sock,int iCkTime)
{
int var;
int iRetCode;
var=1;
iRetCode=setsockopt(sock,SOL_SOCKET,SO_KEEPALIVE,(const char *)&var,sizeof(int));
if(iRetCode<0)
return FAIL;
var=iCkTime;
iRetCode=setsockopt(sock,IPPROTO_TCP,SO_KEEPALIVE,(const char *)&var,sizeof(var));
//There are operation-systems don't support this option
if(iRetCode<0)
return FAIL;
return SUCCESS;
} |
|