有没有办法知道Python套接字中有多少数据可以接收?
我发现我必须使用ioctl。这里有类似的问题:
我的问题是:
- Python 中 FIONREAD 的等价物是什么?如何调用 sock.ioctl() 来获取可用字节数?
- 如果我在 Windows 上使用 Python 2.5 该怎么办? socket.ioctl 是 2.6 版本中的新增内容。
I have figured out that I must use ioctl. There are similar questions here:
- How to tell how much data is in a Socket's send buffer
- Determing the number of bytes ready to be recv()'d
My questions are:
- What is an equivalent to FIONREAD in Python? How do I call sock.ioctl() to obtain the amount of bytes available?
- What if I am using Python 2.5 on Windows? socket.ioctl is new in version 2.6.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于没有可移植的方法来执行此操作(并且答案通常是错误的),因此没有内置的方法来要求它。
如果您使用非阻塞套接字,只需读取尽可能多的数据,并且仅返回存在的数据。
As there is no portable way of doing this (and often the answer is wrong), there isn't a built-in way of asking for it.
If you use non-blocking sockets, simply read as much data as possible, and only data which is present will be returned.