关闭窗口后处理未完成

时间:2019-06-23 20:27:29

标签: python multithreading sockets ubuntu tkinter

我正在使用套接字和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

谢谢!

0 个答案:

没有答案
相关问题