(1)linux版本为
LSB Version: core-2.0-noarch:core-3.2-noarch:core-4.0-noarch:core-2.0-x86_64:core-3.2-x86_64:core-4.0-x86_64:desktop-4.0-amd64:desktop-4.0-noarch:graphics-2.0-amd64:graphics-2.0-noarch:graphics-3.2-amd64:graphics-3.2-noarch:graphics-4.0-amd64:graphics-4.0-noarch
Distributor ID: SUSE LINUX
Description: SUSE Linux Enterprise Server 11 (x86_64)
Release: 11
Codename: n/a
Linux linux210 2.6.32.12-0.7-default #1 SMP 2010-05-20 11:14:20 +0200 x86_64 x86_64 x86_64 GNU/Linux
(2)客户端使用setsockopt设置socket的keepalive属性,代码如下:
int keepAlive = 1;
if(setsockopt(fd,SOL_SOCKET,SO_KEEPALIVE,(void *)&keepAlive,sizeof(keepAlive)) == -1)
{
return -1;
}
setsockopt执行的返回值为0
设置完成后连接服务器,成功连接
但是连接成功后,代码中使用getsockopt获取SO_KEEPALIVE属性,发现没有设置成功,使用netstat -o查看,结果也是off,如下:
tcp 0 0 linux1:63009 linux2:15500 ESTABLISHED off (0.00/0/0)
请问有没有人遇到过这种问题?怎么解决?