作者ireullin (raison detre)
看板Network
标题[问答] TCP_NODELAY的设定
时间Thu Mar 1 14:37:09 2012
延续9694的问题
目前发现
我用setsockopt设定TCP_NODELAY之後
再使用getsockopt将设定值拿出来,他依然是0
两个函式的回传值均为0(没有错误)
请问是否大家还有不同的见解呢
我使用的作业系统是AIX 5.3
bool Socket::TcpNodelay()
{
int _on = 1;
int _len =sizeof(_on);
int _rc = getsockopt( m_socket, IPPROTO_TCP, TCP_NODELAY, (char*)&_on,
(socklen_t*)&_len);
if(_rc!=0)throw SocketException("Get TcpNodelay Failed", _rc);
return _on == 1;
}
void Socket::TcpNodelay(bool on)
{
int _on = 0;
if(on)_on = 1;
int _rc = setsockopt( m_socket, IPPROTO_TCP,TCP_NODELAY, (char*)&_on,
sizeof(_on));
if(_rc!=0)throw SocketException("Set TcpNodelay Failed", _rc);
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.220.71.34