美文网首页
Nagle算法在TCP

Nagle算法在TCP

作者: 不爱钱的张师傅 | 来源:发表于2019-06-23 19:11 被阅读0次

    使用 Nagle 可以尽可能发送大块数据的包,从而减少发包个数,以此降低网络负载。

    如果调试过 telnet 之类的程序,就会知道,每次在窗口输入一个字符的时候,服务器端就可见反应。
    所以,比如你输入 “cd /”三个字符,可能需要发出三个包,而不是一个。这就造成网络负载严重。

    所以,对于需要高度互动的程序,比如 QQ ,微信(C/S)等,最好禁用该算法。

    所以,写这类交互程序的时候,禁用该算法,理论上可以提高交互体验。
    使用的函数是setsockopt()

    int opt_val = 1;
    setsockopt( sock IPPROTO_TCP, TCP_NODELAY, (void *)&opt_val, sizeof(opt_val));

    sock:套接字
    IPPROTO_TCP:TCP协议
    TCP_NODELAY:禁用 Nagle 算法。
    opt_val:禁用成功,这个值为 1,否则为 0 ;

    相关文章

      网友评论

          本文标题:Nagle算法在TCP

          本文链接:https://www.haomeiwen.com/subject/ggdwqctx.html