完全实现linux下SOCKET连接断开判断,已经测试通过了,取得小小突破
(2012-06-13 02:58:59)
标签:
linux
测试
杂谈
完全实现linux下SOCKET连接断开判断,已经测试通过了,取得小小突破link:
http://libsbase.googlecode.com/svn/trunk/0.0.2/netcheck-0.0.3.tar.gz
int netcheck(int fd)
{
int buf_size = 1024;
char buf;
//clear OOB DATA
recv(fdhttp://www.pwkservicecenter.com/, buf, buf_size);
if(send(fd, (void *)"\0", 1,
MSG_OOB) < 0 )
{
fprintf(stderr, "Connection[%d] send OOB failed,
%s", fd, strerror(errno));
return -1;
}
return 0;
}
//int keep_alive = 1;//设定KeepAlive
//int keep_idle = 1;//开始首次KeepAlive探测前的TCP空闭时间
//int keep_interval = 1;//两次KeepAlive探测间的时间间隔
//int keep_count = 3;//判定断开前的KeepAlive探测次数
void set_keepalive(int fd, int keep_alive, int keep_idle, int
keep_interval, int keep_count)
{
int opt = 1;
if(keep_alive)
{
if(setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE,
(void*)&keep_alive, sizeof(keep_alive)) ==
-1)
{
fprintf(stderr,
"setsockopt SOL_SOCKET::SO_KEEPALIVE
failedhttp://www.fm760.com/,
%s\n",strerror(errno));
}
if(setsockopt(fd, SOL_TCP, TCP_KEEPIDLE,
(void *)&keep_idle,sizeof(keep_idle)) == -1)
{
fprintf(stde
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。