[英]Is Python socket.send limited in size?
我有一个bytearray
。 我用len
检查了它的大小,它是 15.000 字节。 但是,当通过s.send()
发送它时,其中s
是一个套接字,只发送了 6000 个字节。
这是正常的吗? 下一个send
调用甚至不发送 rest。
是的,这很正常。 kernel 保留的套接字缓冲区只有这么大。 您可以设置一个循环:
while data:
transmitted = s.send(data)
data = data[transmitted:]
或调用s.sendall(data)
,它本质上是为你做的。
如果您想接收比限制更多的字节,Python 文件中的某处应该有以下代码。
client.recv(1024)
在上面的例子中,1024 是从客户端读取的字节数。
如果您想要更多字节,可以执行以下操作。
bytes_to_recv = "something"
client.recv(bytes)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.