在Ubuntu上找不到TCP_NODELAY

TCP_NODELAY not found on Ubuntu

本文关键字:NODELAY TCP 找不到 Ubuntu      更新时间:2023-10-16

我正试图通过设置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;
}

#include <netinet/tcp.h>了吗?