7

I have figured out that I must use ioctl. There are similar questions here:

My questions are:

  1. What is an equivalent to FIONREAD in Python? How do I call sock.ioctl() to obtain the amount of bytes available?
  2. What if I am using Python 2.5 on Windows? socket.ioctl is new in version 2.6.
4

2 に答える 2

4

これを行うための移植可能な方法がないため(そして多くの場合、答えは間違っています)、それを求める組み込みの方法はありません。

非ブロッキングソケットを使用する場合は、できるだけ多くのデータを読み取るだけで、存在するデータのみが返されます。

于 2011-08-15T03:43:25.740 に答える
0

その数を取得できますが、その数はあまり役に立ちません。カーネルが数値を読み取ってから、コードが実際にそれを使用するようになるまでには、時間枠があります。そのウィンドウでは、より多くのデータがソケットに到着する可能性があります。つまり、この番号は古い可能性があります。

于 2011-08-15T07:22:58.170 に答える