簡體   English   中英

Web套接字未連接到龍卷風服務器

[英]Web Socket not connecting to tornado server

我正在使用python龍卷風框架為正在編寫的游戲編寫小型Web服務器。 但是,當我嘗試創建websocket連接時,get請求工作正常,在瀏覽器中出現此錯誤:

在此處輸入圖片說明

這是我的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連接保持活動狀態,我是否需要在服務器端執行其他任何操作?

嘗試這個:

class StateQueryHandler(tornado.websocket.WebSocketHandler):
    def open(self):
        state.players = state.players + 1
        self.write_message(state.players)
        print("socket opened")

您需要調用方法write_message,而不是write。

請查看文檔以獲取更多信息: http : //www.tornadoweb.org/en/branch2.4/websocket.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM