UDP SocketServer を作成しています。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()