我正在尝试使用Tkinter和套接字创建一个聊天室。我有一个用于GUI显示的功能,但是当我尝试检查传入的连接时(如果connection.recv(1024)== True ...),该功能将不会创建GUI,而只会等待一条消息。有没有一种方法可以在后台不断检查新消息而不会妨碍我的功能?
我试图将传入消息设置为cmessage = connection.recv(1024),但这将停止整个程序,直到收到消息为止。 cmessage是来自客户端的消息。
def sendf(messageBox):
message = messageBox.get()
connection.send(message.encode())
messageBox.delete(0, END)
def chatRoom(soc, connection, addr, port, host_name, ip, name, client_name):
window = Tk()
window.title("PickleChat")
window.geometry("450x700")
sendButton = Button(window, text = "SEND", command = lambda : sendf(messageBox))
sendButton.grid(column = 0, row = 0)
messageBox = Entry(window, width = 48)
messageBox.grid(column = 0, row = 1)
if connection.recv(1024) == True:
cmessage = connection.recv(1024)
cmessage = cmessage.decode()
print(cmessage)
window.mainloop()
chatRoom(soc, connection, addr, port, host_name, ip, name, client_name)