我已经知道我必须使用ioctl。这里也有类似的问题:
- 如何判断socket中有多少数据's发送缓冲区
- 决定准备接收的字节数()'d
我的问题是:
- Python中的FIONREAD等价于什么?我如何调用sock.ioctl()来获得可用的字节数?
- 如果我在Windows上使用Python 2.5怎么办?套接字。
由于没有可移植的方法来执行此操作(并且答案通常是错误的),因此没有内置的方法来请求它。
如果您使用非阻塞套接字,只需读取尽可能多的数据,并且只返回存在的数据。
您可以得到这个数字,但是这个数字没有多大用处。在内核读取这个数字和代码实际使用它之间有一个时间窗口。在这个窗口中,更多的数据可以到达套接字。换句话说,这个数字很可能是过时的。