[問答] TCP_NODELAY的設定
延續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
Network 近期熱門文章
PTT數位生活區 即時熱門文章