【发布时间】:2020-01-28 05:18:14
【问题描述】:
我编写了服务器和客户端,它们似乎只通信一次。我尝试了几种方法来修复它,但没有运气。我试图把 '\n' 放在字符串的末尾,但没有改变。有人可以帮忙吗? 服务器代码:
# server
import socket
SERVER_IP = '0.0.0.0'
DEST_PORT = 1731
server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server_socket.bind((SERVER_IP,DEST_PORT))
server_socket.listen(1)
client_socket,address=server_socket.accept()
for i in range(2):
data = client_socket.recv(512).decode()
client_socket.sendall(("hello"+data+'\n').encode())
data1 = client_socket.recv(512).decode()
print(data1)
client_socket.close()
server_socket.close()
#client
import socket
HOST_IP = '127.0.0.1'
DEST_PORT = 1731
my_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
my_socket.connect((HOST_IP,DEST_PORT))
user_msg = input("Enter massage:")
for i in range(2):
my_socket.sendall(user_msg.encode())
data = my_socket.recv(512).decode()
print(data)
my_socket.sendall("hiii\n".encode())
my_socket.close()
【问题讨论】:
-
而不是
for i in range(2):使用while True -
谢谢。它不能解决问题。仍然有一些数据没有发送和接收。
-
将 user_input 保留在 while 循环中
-
非常感谢。问题解决了。