【问题标题】:How to set Send Buffer Size for sockets in python如何在python中设置套接字的发送缓冲区大小
【发布时间】:2015-09-02 12:00:33
【问题描述】:

我的服务器端有一个客户端套接字,我想要为套接字设置Send buffer size,就像我设置Receive buffer size一样。关于如何设置它的任何想法?因为在发送大量数据时,套接字会断开连接。

【问题讨论】:

    标签: python sockets size byte buffer


    【解决方案1】:

    使用socket.setsockopt()SO_SNDBUF

    socket.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, <value>)      
    

    其中&lt;value&gt; 是您要设置为 Python int 的缓冲区大小。

    示例:

    socket.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 8192)  # Buffer size 8192
    

    见:setsockopt

    【讨论】:

    • setsocketopt() 的参数是什么。它说需要 3 个参数。
    • 对不起,我错过了一个论点!固定:)
    • 很好,但是如何读取目标缓冲区? @詹姆斯米尔斯
    【解决方案2】:

    你可以使用socket.setsockopt()

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, size)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-18
      • 2012-04-16
      • 2015-05-01
      • 2017-10-02
      • 2016-06-27
      • 1970-01-01
      相关资源
      最近更新 更多