在Ubuntu上找不到TCP_NODELAY

rpl*_*orn 23 c++ sockets setsockopt

我试图通过设置TCP_NODELAY参数在Ubuntu Linux机器上使用我的TCP套接字禁用Nagle算法.由于某种原因,此常量未在或中定义.这个常量是否已被弃用,然后从Linux中删除,或者我只是遗漏了什么?<sys/types.h><sys/socket.h>

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;
Run Code Online (Sandbox Code Playgroud)

}

dgn*_*ton 54

#include <netinet/tcp.h>呢?