Я пытаюсь создать чат с Tkinter и сокетом.У меня есть функция для отображения графического интерфейса, но когда я пытаюсь проверить наличие входящих соединений (если connection.recv (1024) == True ...), функция не будет создавать графический интерфейс и будет просто ждать сообщения.Есть ли способ постоянно проверять наличие новых сообщений в фоновом режиме, не мешая моей функции?
Я попытался установить входящее сообщение на 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)