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
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)
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()
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()
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()
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()
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()
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()
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()
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()
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()