Я создаю чат-приложение на python, используя сокеты и tkinter. В Windows все работает правильно, но когда я пытаюсь запустить его в Ubuntu, возникают некоторые проблемы. Если я пытаюсь закрыть окно приложения, процесс не завершается, и мне нужно убить его, чтобы завершить программу.
Я думаю, что это может быть из-за потоков или что-то не так с соединениями сокетов. Я пытался написать код, чтобы исправить это, но проблема все та же.
Этот фрагмент кода предназначен для закрытия окна на стороне клиента. Он работает в Windows, а в Ubuntu - нет.
def close_connection(self):
self.is_receive_message = False
self.client_side.close()
self.destroy()
client.quit()
Там я пытаюсь закрыть серверную часть. Я создаю поток для каждого клиента, и когда окно закрывается, я пытаюсь завершить весь поток и завершить все соединение. Опять же, в Widows все в порядке, а в Ubuntu - нет.
def quit_server(self):
self.accepting_connection = False
for client in self.clients:
client.close()
client.is_receive_message = False
self.threads[client].join()
self.server.close()
server.quit()
Полный код можно найти здесь: https://github.com/Tynianov/chat_app
Заранее спасибо!