7

我发现我必须使用 ioctl。这里有类似的问题:

我的问题是:

  1. Python 中的 FIONREAD 等价物是什么?如何调用 sock.ioctl() 来获取可用的字节数?
  2. 如果我在 Windows 上使用 Python 2.5 会怎样?socket.ioctl 是 2.6 版中的新内容。
4

2 回答 2

4

由于没有可移植的方式来执行此操作(而且答案通常是错误的),因此没有内置的方式来请求它。

如果您使用非阻塞套接字,只需读取尽可能多的数据,并且只返回存在的数据。

于 2011-08-15T03:43:25.740 回答
0

你可以得到那个数字,但这个数字没有多大用处。在内核读取数字和您的代码实际使用它之间有一个时间窗口。在那个窗口中,更多的数据可以到达套接字。换句话说,这个数字很可能是陈旧的。

于 2011-08-15T07:22:58.170 回答