【问题标题】:python socket send immediatelypython socket立即发送
【发布时间】:2015-10-27 21:21:34
【问题描述】:

套接字的问题是它们缓冲数据并在缓冲区填满时或在给定的时间间隔内发送数据。有什么方法可以避免它并通过具有高优先级的套接字发送一些东西,没有任何延迟?就我而言,毫秒数。

【问题讨论】:

    标签: python sockets


    【解决方案1】:

    TCP_NODELAY 是您正在寻找的选项

    示例代码:

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
    

    欲了解更多信息,请参阅

    this SO QA

    this article

    this other SO QA

    注意:在 Linux 系统上选项 TCP_CORK 也可用。

    在您的应用程序中试验这两个选项,看看会发生什么。 请阅读this exhaustive and very informative article 了解两者的优缺点。

    【讨论】:

    • 如何设置一个socket有多个选项?例如NO_DELAY 和 REUSEADDR
    • 第二次拨打s.setsockopt()(一年后回复,但无论如何)
    猜你喜欢
    • 1970-01-01
    • 2016-10-25
    • 2016-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 2017-05-31
    • 2015-08-25
    相关资源
    最近更新 更多