我正在使用套接字和tkinter在python上构建聊天应用程序。一切都可以在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
谢谢!