我创建一个UDP套接字服务器,并且我想关闭,如果我从客户端收到关闭消息比我想关闭UDP连接。停止UDP套接字服务器
当我收到消息时,将显示Begin
,但不会显示Finished
。我如何退出此线程?
class MyUDPHandler(SocketServer.BaseRequestHandler):
def handle(self):
data = self.request[0].strip()
dic = self.string_XML_to_dic(data)
if(dic['Cmd'] == str(UDPConst().SHUT_DOWN)):
print('Begin')
self.server.shutdown()
print("Finished")
if __name__ == "__main__":
HOST, PORT = "", prop['udpport']
server = SocketServer.UDPServer((HOST, PORT), MyUDPHandler)
server.serve_forever()
http://docs.python.org/library/socketserver.html声明关闭()“告诉serve_forever()循环停止并等待,直到它”。你等待它执行清理和关闭多久了? – jlafay 2012-02-03 14:09:52