예제 #1
0
def main():
    server = ThreadingUDPServer((HOST, PORT), ThreadedUDPRequestHandler)
    server_thread = threading.Thread(target=server.serve_forever)
    server_thread.daemon = True

    try:
        server_thread.start()
        logger = logging.getLogger("app")
        logger.info("Server started at {} port {}".format(HOST, PORT))
        # 一个死循环
        while True:
            time.sleep(100)
    except (KeyboardInterrupt, SystemExit):
        server.shutdown()
        server.server_close()
        exit()
class ReceiveDataUDPServer(threading.Thread):
    """Thread the runs the main UDP Server"""

    def __init__(self):
        super(ReceiveDataUDPServer, self).__init__()
        self.daemon = True
        # Setup threading UDP server
        host, port = "", 9767
        self.server = ThreadingUDPServer((host, port), ReceiveDataUDPHandler)

    def run(self):
        """Run method"""
        self.server.serve_forever()

    def stop(self):
        """Stop the UDP server"""
        LOG.info('UDP server stop called')
        self.server.shutdown()
        while self.isAlive():
            time.sleep(0.01)
        LOG.info('UDP server stopped')
예제 #3
0
    stream_handler.setFormatter(formatter)
    file_handler.setFormatter(formatter)

    from logging import getLogger
    log = getLogger(__name__)
    log.addHandler(file_handler)
    # log.addHandler(stream_handler)
    # f**k = getLogger("{}_stream_logger".format(__name__))
    # f**k.addHandler(stream_handler)

    from logging import INFO
    log.setLevel(INFO)
    # f**k.setLevel(INFO)

    intercept_domain, intercept_rr = [], []
    with open(args.intercept) as zonefile:
        for zone in zonefile:
            intercept_domain.append(zone.split(" ")[0])
            intercept_rr.append(zone)
    intercept_domain = list(set(intercept_domain))

    server = ThreadingUDPServer((args.host, args.port), CleanDNSHandler)
    # server_thread = Thread(target=server.serve_forever)
    # server_thread.daemon = False
    try:
        # server_thread.start()
        server.serve_forever()
    except KeyboardInterrupt:
        server.shutdown()
        server.server_close()