问题描述
我当前正在尝试创建命令行客户端-服务器模型聊天室,但是,我遇到了一个问题,问题是,如果其他人在聊天室中讲话,它将覆盖其他客户端的输入正在尝试键入,由于多种原因,这太可怕了,尤其是当所述服务器变大时。我尝试了多线程,认为那可以解决我的问题,但事实并非如此。 这是我当前正在使用的客户端代码:
import socket
import threading
while_loop = True
def recv():
while while_loop == True:
server_message = client.recv(2048)
print(server_message.decode('utf-8'))
rt = threading.Thread(target=recv,args=())
def send():
while while_loop == True:
message_to_send = input(">>> ")
client.sendall(bytes(message_to_send,'utf-8'))
st = threading.Thread(target=send,args=())
rt.start()
st.start()
st.join()
rt.join()
有没有一种方法可以使我(无需保持输入)实时发送和接收消息? 谢谢您的宝贵时间,谢谢。