예제 #1
0
def run(app, host=None, port=None, debug=None, logger=logger):
    monkey.patch_all()

    address = get_address(host, port, app.config['SERVER_NAME'])

    if debug is not None:
        app.debug = debug

    if app.debug:
        #app.wsgi_app = DebuggedApplication(app.wsgi_app, evalex=True)
        server = WebSocketServer(address, app.wsgi_app, debug=debug)
        server._logger = logger

        logger.setLevel(logging.INFO)

        def run_server():
            server.serve_forever()

        if os.environ.get('WERKZEUG_RUN_MAIN') != 'true':
            server.logger.info(' * Running on http://%s:%d/' % address)
            server.logger.info(' * WebSocket enabled')
        run_with_reloader(run_server)
    else:
        server = WebSocketServer(address, app.wsgi_app, debug=debug)
        server._logger = logger
        server.serve_forever()
    return server
예제 #2
0
 def _prepare_server(self, address):
     import _socket
     # 只有这样,才能保证在主进程里面,不会启动accept
     listener = self.server_class.get_listener(address,
                                               backlog=self.backlog,
                                               family=_socket.AF_INET)
     listener.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
     self.server = WebSocketServer(listener, self.wsgi_app)
예제 #3
0
파일: web_ui.py 프로젝트: ccie5818/raiden
    def run(self):
        static_path = os.path.join(self.path, 'api/webui')

        routes = [('^/static/',
                   self.make_static_application('/static/', static_path)),
                  ('^/$', self.serve_index), ('^/ws$', UIService)]

        data = {
            'handler': self.handler,  # object
            'registrars': self.registrars  # list of topics
        }
        resource = _Resource(routes, extra=data)

        server = WebSocketServer(("", self.port), resource, debug=True)
        server.serve_forever()
예제 #4
0
def main():
    log = None
    if VERBOSE:
        log = "default"

    server = WebSocketServer((HTTP_HOST, HTTP_PORT), app, log=log)

    def term_handler(signum, frame):
        server.stop()

    signal.signal(signal.SIGINT, term_handler)
    signal.signal(signal.SIGTERM, term_handler)

    print("Listening at http://{}:{}/".format(HTTP_HOST, HTTP_PORT))
    server.serve_forever()
예제 #5
0
    def run(self):
        static_path = os.path.join(self.path, 'webui')  # XXX naming

        routes = [('^/static/',
                   self.make_static_application('/static/', static_path)),
                  ('^/$', self.serve_index), ('^/ws$', WebSocketAPI)]

        data = {
            'raiden': self.raiden,
            'port': self.port,
            'events': self.events
        }
        resource = Resource(routes, extra=data)

        server = WebSocketServer(("", self.port), resource, debug=True)
        server.serve_forever()
예제 #6
0
    websocket = environ.get("wsgi.websocket")

    if websocket is None:
        return http_handler(environ, start_response)
    try:
        while True:
            message = websocket.receive()
            websocket.send(message)
        websocket.close()
    except geventwebsocket.WebSocketError as ex:
        print("{0}: {1}".format(ex.__class__.__name__, ex))


def http_handler(environ, start_response):
    if environ["PATH_INFO"].strip("/") == "version":
        start_response("200 OK", [])
        return [agent]

    else:
        start_response("400 Bad Request", [])

        return ["WebSocket connection is expected here."]


path = os.path.dirname(geventwebsocket.__file__)
agent = bytearray("gevent-websocket/%s" % (geventwebsocket.get_version()),
                  'latin-1')

print("Running %s from %s" % (agent, path))
WebSocketServer(("", 8000), echo_app, debug=False).serve_forever()
예제 #7
0
                                  RPCTestClass())
        self.wamp.register_pubsub("http://localhost:8000/somechannel")

        print "opened"

    def on_message(self, message):
        print "message: ", message
        super(WampApplication, self).on_message(message)

    def on_close(self):
        print "closed"

    def add(self, var, has):
        has.update({'bloep': var})
        return has

    def build_protocol(self):
        self.wamp = WampProtocol(self)
        return self.wamp

    @classmethod
    def protocol(cls):
        return WampProtocol.PROTOCOL_NAME


if __name__ == "__main__":
    resource = Resource({'/': WampApplication})

    server = WebSocketServer(("", 8000), resource, debug=True)
    server.serve_forever()
예제 #8
0
        print("{0}: {1}".format(ex.__class__.__name__, ex))
    except Exception as ex:
        traceback.print_exc()


from pprint import pprint
def http_handler(environ, start_response):
    pprint(environ)
    path = os.path.join('./www', environ['PATH_INFO'].lstrip('/'))
    print("looking for {}".format(path))
    if os.path.exists(path):
        print("found {}".format(path))
        start_response("200 OK", [])
        return [open(path, "rb").read()]
    if environ["PATH_INFO"].strip("/") == "version":
        start_response("200 OK", [])
        return [agent]

    else:
        start_response("400 Bad Request", [])

        return ["WebSocket connection is expected here."]


path = os.path.dirname(geventwebsocket.__file__)
agent = bytearray("gevent-websocket/%s" % (geventwebsocket.get_version()),
                  'latin-1')

print("Running %s from %s" % (agent, path))
WebSocketServer(("", 3000), echo_app, debug=True).serve_forever()
예제 #9
0
            resp.header.result = 0
            resp_data = resp.encode()
            print(resp_data)
            websocket.send(resp_data)
            # print(proto.access_pb2.ConnectGameServerReq.ParseFromString(bytes(message[24:]).decode()))
            # print('--->22')

            # websocket.send(message)
        websocket.close()
    except geventwebsocket.WebSocketError as ex:
        print("{0}: {1}".format(ex.__class__.__name__, ex))


def http_handler(environ, start_response):
    if environ["PATH_INFO"].strip("/") == "version":
        start_response("200 OK", [])
        return [agent]

    else:
        start_response("400 Bad Request", [])

        return ["WebSocket connection is expected here."]


path = os.path.dirname(geventwebsocket.__file__)
agent = bytearray("gevent-websocket/%s" % (geventwebsocket.get_version()),
                  'latin-1')

print("Running %s from %s" % (agent, path))
WebSocketServer(("0.0.0.0", 8800), echo_app, debug=True).serve_forever()
예제 #10
0
    if websocket is None:
        return http_handler(environ, start_response)
    try:
        while True:
            message = websocket.receive()
            websocket.send(message)
        websocket.close()
    except geventwebsocket.WebSocketError as ex:
        print('{0}: {1}'.format(ex.__class__.__name__, ex))


def http_handler(environ, start_response):
    if environ['PATH_INFO'].strip('/') == 'version':
        start_response('200 OK', [])
        return [agent]

    else:
        start_response('400 Bad Request', [])

        return ['WebSocket connection is expected here.']


if __name__ == '__main__':
    path = os.path.dirname(geventwebsocket.__file__)
    agent = bytearray('gevent-websocket/%s' % (geventwebsocket.get_version()),
                      'latin-1')
    print('Running %s from %s' % (agent, path))
    ser = WebSocketServer(('', 8000), echo_app, debug=False)
    ser.serve_forever()
예제 #11
0
    if websocket is None:
        return http_handler(environ, start_response)
    try:
        websocket.send('hello you cool fool')
        while True:
            message = websocket.receive()
            print('got %s' % message)
            websocket.send(message)
        websocket.close()
    except geventwebsocket.WebSocketError, ex:
        print "{0}: {1}".format(ex.__class__.__name__, ex)


def http_handler(environ, start_response):
    if environ["PATH_INFO"].strip("/") == "version":
        start_response("200 OK", [])
        return [agent]

    else:
        start_response("400 Bad Request", [])

        return ["WebSocket connection is expected here."]


path = os.path.dirname(geventwebsocket.__file__)
agent = "gevent-websocket/%s" % (geventwebsocket.get_version())
port = 8000
host = 'localhost'
print "Running on %s:%s" % (host, port)
WebSocketServer((host, port), echo_app, debug=False).serve_forever()