Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法知道Python套接字中有多少数据可以接收?_Python_Sockets_Recv_Ioctl_Fcntl - Fatal编程技术网

有没有办法知道Python套接字中有多少数据可以接收?

有没有办法知道Python套接字中有多少数据可以接收?,python,sockets,recv,ioctl,fcntl,Python,Sockets,Recv,Ioctl,Fcntl,我发现我必须使用ioctl。这里也有类似的问题: 我的问题是: Python中的FIONREAD的等价物是什么?如何调用sock.ioctl()以获取可用字节数 如果我在Windows上使用Python 2.5会怎么样?socket.ioctl是2.6版中的新版本 由于没有可移植的方法来实现这一点(而且答案往往是错误的),因此没有一种内置的方式来请求它 如果使用非阻塞套接字,只需读取尽可能多的数据,就只返回存在的数据 你可以得到这个数字,但这个数字没有什么用处。内核读取数字和代码实际使用

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

我的问题是:

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

  • 由于没有可移植的方法来实现这一点(而且答案往往是错误的),因此没有一种内置的方式来请求它


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

    你可以得到这个数字,但这个数字没有什么用处。内核读取数字和代码实际使用数字之间有一个时间窗口。在该窗口中,更多数据可以到达套接字。换句话说,这个数字可能已经过时了。

    它可能会出现,但不会太多。你不知道如何得到那个数字,对吗?更准确地说,是一个不确定的数字,而不是“不太多”。