我正在尝试通过设置TCP_NODELAY
参数来禁用Ubuntu Linux框上TCP套接字中的Nagle算法。但是,出于某种原因,这个常量在<sys/types.h>
或<sys/socket.h>
中没有定义。这个常量是不是已经被弃用并从Linux中删除了,还是我只是漏掉了什么?
bool Socket::setTCPNoDelay(bool enabled)
{
int flag = (enabled ? 1 : 0);
if(setsockopt(m_sock,IPPROTO_TCP,TCP_NODELAY,(char *)&flag,sizeof(flag)) == -1)
{
return false;
}
return true;
}