我发现,缓冲区大小可以这样设置
sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 1) # Buffer size 8192
我只为测试设置了1个字节。 让我们发送一些大量的数据:
cat file.txt | nc -l 1489
但是,我仍然可以在这里获得超过1个字节..
while 1:
read_ready = select.select([sock], [], [], timeout_in_seconds)
if read_ready[0]: # we have what to read
data = sock.recv(1000)
看起来缓冲区大小足以保存文件中的所有数据,显然不是1字节,我们在上面设置了。