def do_handshake(self): from geventwebsocket import get_version welcome = [ self.MSG_WELCOME, self.session_id, 1, 'gevent-websocket/' + get_version() ] self.app.ws.send(serialize(welcome))
def _http_handler(environ, start_response): import geventwebsocket if environ["PATH_INFO"].strip("/") == "version": start_response("200 OK", []) agent = "gevent-websocket/%s" % (geventwebsocket.get_version()) return [agent] else: start_response("400 Bad Request", []) return ["WebSocket connection is expected here."]
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()
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()) def visit(): import websocket ws = websocket.create_connection("ws://localhost:%s/" % PORT) ws.send(" "*1024*1024*16) print ws.recv() print "try Running %s from %s" % (agent, path) try: WebSocketServer(("", PORT), echo_app, debug=False).serve_forever() except: visit()
print '='*20,"SSSSSSstart_check dead_user at", datetime.datetime.now() remove_players = [] # print "checking connecting" for user in all_players: # print user.uid if user.last_recv_fg == False: remove_players.append(user) else: user.last_recv_fg = False for user in remove_players: print "disconnect ", user.uid, user.core_id disconnect_player(user, reason='Too long time no-msg-in-or-out', force=True) print "now the connecting user counter is", len(all_players) print '='*10,"EEEEEnd_check dead_user at", datetime.datetime.now() if __name__ == "__main__": path = os.path.dirname(geventwebsocket.__file__) agent = "gevent-websocket/%s" % (geventwebsocket.get_version()) print "start check user connecting" # 开启检查掉线玩家进程 gevent.spawn(check_dead_user).start() try: print "Running %s from %s" % (agent, path) print "start pvp serve", datetime.datetime.now() # 保证等待列表数据库表为空 WebSocketServer(("", int(port)), application, debug=False).serve_forever() except KeyboardInterrupt: print "close-server"