编写socket通信程序,实现多个客户端连接一个服务器
时间: 2024-02-06 10:09:56 浏览: 30
以下是一个简单的Python代码示例,实现了多个客户端连接一个服务器的socket通信程序。
server.py
```python
import socket
HOST = '127.0.0.1'
PORT = 8888
# 创建一个socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址和端口号
s.bind((HOST, PORT))
# 设置最大连接数
s.listen(5)
print('Server listening on {}:{}'.format(HOST, PORT))
while True:
# 接受客户端连接
conn, addr = s.accept()
print('Connected by', addr)
# 接收客户端数据并发送响应
while True:
data = conn.recv(1024)
if not data:
break
print('Received:', data.decode())
conn.sendall(data)
# 关闭连接
conn.close()
```
client.py
```python
import socket
HOST = '127.0.0.1'
PORT = 8888
# 创建一个socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
s.connect((HOST, PORT))
while True:
# 发送数据给服务器
data = input('Input message to send: ')
s.sendall(data.encode())
# 接收服务器响应
data = s.recv(1024)
print('Received:', data.decode())
# 关闭连接
s.close()
```
在终端中启动server.py,然后启动多个client.py,即可实现多个客户端连接一个服务器的socket通信。