基于阻塞I/O模型的套接字通信代码
时间: 2024-11-12 14:35:35 浏览: 17
基于阻塞I/O模型的套接字通信通常是在客户端和服务端通过TCP协议实现的。下面是一个简单的Python示例,展示了如何在一个服务器上使用阻塞I/O处理多个客户端请求:
```python
import socket
# 创建一个socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址和端口
server_address = ('localhost', 12345)
server_socket.bind(server_address)
# 设置为监听模式,最大连接数
server_socket.listen(5)
while True:
# 等待客户端连接
client_connection, client_address = server_socket.accept()
print(f"Accepted connection from {client_address[0]}:{client_address[1]}")
try:
# 阻塞式读取客户端数据
request = client_connection.recv(1024).decode('utf-8')
print(f"Received: {request}")
# 对数据进行响应(这里只是一个简单示例)
response = f"Hello, {request}!"
# 发送响应
client_connection.sendall(response.encode('utf-8'))
# 关闭连接前先告知客户端已完成操作
client_connection
阅读全文