python实现作为客户端接收一个服务端的信息,同时又作为服务端发送信息给另外一个客户端
时间: 2023-07-07 19:19:49 浏览: 38
下面是一个实现作为客户端接收一个服务端的信息,同时又作为服务端发送信息给另外一个客户端的简单示例代码:
客户端:
```python
import socket
HOST = '127.0.0.1'
PORT = 8888
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((HOST, PORT))
while True:
data = client_socket.recv(1024).decode()
if not data:
break
print('Received message:', data)
client_socket.close()
```
服务端:
```python
import socket
HOST = '127.0.0.1'
PORT = 8888
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((HOST, PORT))
server_socket.listen(2)
print('Server start listening...')
# 等待第一个客户端连接
client1, client1_address = server_socket.accept()
print('Connected by', client1_address)
# 接收第一个客户端的消息
data = client1.recv(1024).decode()
print('Received message from client 1:', data)
# 等待第二个客户端连接
client2, client2_address = server_socket.accept()
print('Connected by', client2_address)
# 发送消息给第二个客户端
message = input('Enter message to send to client 2: ')
client2.sendall(message.encode())
client1.close()
client2.close()
```
以上代码实现了一个简单的功能:服务端等待两个客户端的连接,等待第一个客户端发送消息后,将消息发送给第二个客户端。注意,在服务端程序中,需要先等待第一个客户端连接,并接收其发送的消息,然后再等待第二个客户端连接,并将消息发送给第二个客户端。