如何知道Python套接字中有多少可接收数据?

7 投票
1 回答
4627 浏览
提问于 2025-04-16 23:35

我发现我必须使用ioctl这个东西。这里有一些类似的问题:

我的问题是:

  1. 在Python中,FIONREAD的等价物是什么?我该如何调用sock.ioctl()来获取可用的字节数?
  2. 如果我在Windows上使用的是Python 2.5呢?socket.ioctl在2.6版本中才有。

1 个回答

4

因为没有一种通用的方法可以做到这一点(而且很多时候得到的答案也不准确),所以没有内置的方式来询问这个问题。

如果你使用的是非阻塞套接字,只需尽可能多地读取数据,只有已经到达的数据会被返回。

撰写回答