我正在使用 python tornado 框架为我正在编写的游戏编写一个小型 Web 服务器。获取请求工作正常,但是,当我尝试创建 websocket 连接时,我在浏览器中收到此错误:
这是我的javascript代码:
var ws = new WebSocket("ws://localhost:8888/ws");
ws.onopen = function() {
ws.send("ping");
};
这是python服务器的代码:
class StateQueryHandler(tornado.websocket.WebSocketHandler):
def open(self):
state.players = state.players + 1
self.write(state.players)
print("socket opened")
. . .
application = tornado.web.Application([
(r"/ws", StateQueryHandler),#websocket endpoint
(r"/static/(.*)", tornado.web.StaticFileHandler, {"path": "../client"})
])
server = tornado.httpserver.HTTPServer(application)
server.listen(8888)
tornado.ioloop.PeriodicCallback(state.update, 250).start()
tornado.ioloop.IOLoop.instance().start()
谁能告诉我出了什么问题?我是否必须在服务器端做任何额外的事情来保持 tcp 连接处于活动状态?