如何在Python中设置套接字的发送缓冲区大小

10
我在服务器端有一个客户端套接字,我想设置发送缓冲区大小,就像我设置接收缓冲区大小一样。你有什么办法可以设置它吗?当发送大量数据时,套接字会断开连接。
2个回答

15

使用socket.setsockopt()SO_SNDBUF

socket.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, <value>)      
< p >其中<value>是您想要设置为Python int的缓冲区大小。

示例:


示例:

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

请参见:setsockopt


setsocketopt() 的参数是什么?它需要三个参数。 - Biswarup Dass
抱歉,我错过了一个参数!已修复 :) - James Mills
非常好,但是我如何在目标处读取缓冲区?@JamesMills - PersianGulf

6
你可以使用 socket.setsockopt()
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, size)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接