AIX中setsockopt设置参数失败
aix上的应用程序作为客户端,设置网络参数以控制心跳包的属性,以下代码从linux移植过来,即在setsockopt中把SOL_TCP改成了IPPROTO_TCP,但在运行后,出现设置失败现象,错误码是: No such file or directory(通过strerror(errno)获取),跪求专家们帮忙分析,谢谢!
int keep_alive = 1;
int keep_idle = 1;
int keep_interval = 1;
int keep_count = 3;
if (setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, (void*) &keep_alive,
sizeof(keep_alive)) == -1)
{
trace_log(ERR, "setsockopt SOL_SOCKET::SO_KEEPALIVE failed, %s. ",
strerror(errno));
}
if (setsockopt(s, 'IPPROTO_TCP'/*SOL_TCP*/, TCP_KEEPIDLE, (void *) &keep_idle,
sizeof(keep_idle)) == -1)
{
trace_log(ERR, "setsockopt SOL_TCP::TCP_KEEPIDLE failed, %s. ",
strerror(errno));
}