那么如何实现客户端和服务器双方都可以连续发送消息,而不必一定要一问一答,请给我能实现此功能的客户端和服务端代码
时间: 2024-03-10 17:44:07 浏览: 57
好的,下面是一个简单的 Python Socket 实现的客户端和服务端双方连续发送消息的代码:
服务端代码:
```python
import socket
HOST = 'localhost'
PORT = 8888
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((HOST, PORT))
s.listen()
conn, addr = s.accept()
print('Connected by', addr)
while True:
data = conn.recv(1024)
if not data:
break
print(f"Received data: {data.decode()}")
message = input("Enter message to send: ")
conn.sendall(message.encode())
```
客户端代码:
```python
import socket
HOST = 'localhost'
PORT = 8888
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
while True:
message = input("Enter message to send: ")
s.sendall(message.encode())
data = s.recv(1024)
if not data:
break
print(f"Received data: {data.decode()}")
```
这段代码实现了客户端和服务端双方可以不必一问一答,而是实现了连续发送消息的功能。当客户端发送一条消息时,服务端会接收到该消息,并且打印出来,然后等待服务端输入一条消息,再将其发送给客户端。客户端同理,也可以不断地发送消息给服务端,并接受服务端的响应消息。
阅读全文