FIONREAD 判断 socket有多少数据可读

1123
2023/9/16 9:53:02
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要判断一个socket有多少数据可读,可以使用`select`或`poll`函数来检查socket的可读性。以下是使用`select`函数的示例代码:
```python
import socket
# 创建socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("example.com", 80))
# 使用select函数判断socket的可读性
readable, writable, exceptional = select.select([s], [], [], 0)
# 判断socket的可读性并获取可读数据的数量
if s in readable:
   data = s.recv(4096)
   data_length = len(data)
   print(f"可读数据数量:{data_length}")
# 关闭socket连接
s.close()
```
这个示例代码中,首先创建了一个socket对象并连接到服务器。然后使用`select`函数来检查socket的可读性。如果socket可读,就使用`recv`方法接收数据,并使用`len`函数获取数据的长度,即可读数据的数量。最后关闭socket连接。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: socket编程:WSAStartup函数详解