2011-04-15 4 views
15

J'essaie de désactiver l'algorithme de Nagle avec mes sockets TCP sur une boîte Linux Ubuntu en définissant le paramètre TCP_NODELAY. Pour une raison quelconque, cette constante n'est pas définie dans <sys/types.h> ou <sys/socket.h>. Cette constante a-t-elle été dépréciée puis retirée de Linux ou suis-je en train de manquer quelque chose?TCP_NODELAY pas trouvé sur Ubuntu

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; 

}

Répondre