2024年2月8日发(作者:)
socket select recv例子
以下是一个使用socket、select和recv函数的示例:
```python
import socket
import select
# 创建socket对象
server_socket = (_INET, _STREAM)
# 绑定IP地址和端口号
server_(('localhost', 8000))
# 监听连接
server_(5)
# 创建一个sockets列表,包括服务器socket和客户端sockets
sockets_list = [server_socket]
print("服务器已启动,等待连接...")
while True:
# 使用select监测可读的sockets
read_sockets, _, _ = (sockets_list, [], [])
for notified_socket in read_sockets:
# 新连接到来
if notified_socket == server_socket:
client_socket, client_address = server_()
sockets_(client_socket)
print("客户端 {} 已连接".format(client_address))
# 已连接的客户端发送了消息
else:
# 接收客户端发来的数据
data = notified_(1024).decode()
if not data:
# 客户端关闭连接
print("客户端 {} 已断开连接".format(client_address))
sockets_(notified_socket)
continue
# 打印接收到的消息
print("从客户端 {} 收到消息:{}".format(client_address, data))
# 关闭服务器socket
server_()
```
以上是一个使用socket的示例,通过select函数实现多个客户端的并发连接。在这个例子中,服务器首先创建一个socket对象并绑定IP地址和端口号。然后通过监听连接,等待客户端的连接。
在主循环中,使用select函数监测可读的sockets。如果收到新连接,则接受该连接并将客户端socket添加到sockets列表中。如果某个已连接的客户端发送了消息,则使用recv函数接收数据并进行处理。
如果客户端关闭连接,则从sockets列表中移除该socket,并继续监听其他可读的sockets。
请注意,以上示例仅为一个基本的应用程序,用于演示socket、select和recv函数的使用。实际应用中,您可能需要添加更多的错误处理以及其他功能来满足您的需求。
本文发布于:2024-02-08 07:14:04,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170734764466903.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |