我正在尝试用 Python 编写一个聊天应用程序作为学校项目。
它应该从服务器接收消息,同时,它还应该能够向该服务器发送消息。为了做到这一点,我创建了两个线程:一个等待传入的消息,另一个接收我的输入以发送出去。问题是它无法打印来自服务器的消息,因为另一个线程总是要求输入。有没有办法让消息接收线程在输入函数要求输入时打印传入的消息?
下面是代码中比较麻烦的部分:
def sendmsg(conn):
while True:
msg=input("Your message: ")
conn.send(bytes(msg,"utf-8"))
def getmsg(conn):
while True:
data=conn.recv(1024)
print(data.decode("utf-8"))
def server():
soket=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
soket.bind((HOST,PORT))
soket.listen()
print("Listining")
conn, addr = soket.accept()
print("Connection established!")
send = threading.Thread(target = sendmsg(conn))
get = threading.Thread(target = getmsg(conn))
get.start()
send.start()
莫回无
相关分类