基本上,我一直在使用socket和线程开发一个简单的聊天室。在我的客户端中,我可以接收和发送消息,但是我的问题是,在循环中,一个消息会在另一个消息之前到达,因此如果我正在发送消息,只有在我发送消息后才能接收数据。我希望它像其他聊天室一样工作,即我可以在发送消息时接收消息。任何帮助都将非常有帮助。这是我的基本客户端:
import socket
import sys
###########
HOST = '25.0.18.52'
PORT = 9999
###########
name = input("Enter your name: ")
s = socket.socket()
s.connect((HOST,PORT))
while 1:
message = input("Message: ")
s.send("{}: {}".format(name, message).encode('utf-8'))
data = s.recv(1024)
a = data.decode("utf-8")
print(a)