예제 #1
0
파일: srv.py 프로젝트: johnnoone/pyzmqtulip
def main():
    args = ARGS.parse_args()

    if ':' in args.host:
        args.host, port = args.host.split(':', 1)
        args.port = int(port)

    if args.ssl:
        here = os.path.join(os.path.dirname(__file__), 'tests')

        if args.certfile:
            certfile = args.certfile or os.path.join(here, 'sample.crt')
            keyfile = args.keyfile or os.path.join(here, 'sample.key')
        else:
            certfile = os.path.join(here, 'sample.crt')
            keyfile = os.path.join(here, 'sample.key')

        sslcontext = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
        sslcontext.load_cert_chain(certfile, keyfile)
    else:
        sslcontext = None

    loop = zmqtulip.new_event_loop()
    tulip.set_event_loop(loop)
    f = loop.start_serving(
        lambda: HttpServer(debug=True, keep_alive=75), args.host, args.port,
        ssl=sslcontext)
    socks = loop.run_until_complete(f)
    print('serving on', socks[0].getsockname())
    try:
        loop.run_forever()
    except KeyboardInterrupt:
        pass
예제 #2
0
def main():
    args = ARGS.parse_args()
    if ':' in args.host:
        args.host, port = args.host.split(':', 1)
        args.port = int(port)

    tulip.set_event_loop(zmqtulip.new_event_loop())

    superviser = Superviser(args)
    superviser.start()
예제 #3
0
ARGS.add_argument(
    '--host', action="store", dest='host',
    default='127.0.0.1', help='Host name')
ARGS.add_argument(
    '--port', action="store", dest='port',
    default=9999, type=int, help='Port number')


if __name__ == '__main__':
    args = ARGS.parse_args()

    if ':' in args.host:
        args.host, port = args.host.split(':', 1)
        args.port = int(port)

    if (not (args.server or args.client)) or (args.server and args.client):
        print('Please specify --server or --client\n')
        ARGS.print_help()
    else:
        loop = zmqtulip.new_event_loop()
        loop.add_signal_handler(signal.SIGINT, loop.stop)

        tulip.set_event_loop(loop)

        if args.server:
            start_server(loop, args.host, args.port)
        else:
            start_client(loop, args.host, args.port)

        loop.run_forever()
예제 #4
0
 def setUp(self):
     self.loop = zmqtulip.new_event_loop()
     self.srv_ctx = zmqtulip.Context(loop=self.loop)
     self.c_ctx = zmqtulip.Context(loop=self.loop)
     tulip.set_event_loop(None)
예제 #5
0
 def create_event_loop(self):
     return zmqtulip.new_event_loop()