av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

python - 關于基于tornado的websocket服務在本機上調試的問題

瀏覽:117日期:2022-08-10 18:00:41

問題描述

我啟動了一個簡單的tornado服務器,代碼如下

import tornado.httpserverimport tornado.ioloopimport tornado.optionsimport tornado.webimport tornado.websocketimport jsonclass IndexHandler(tornado.web.RequestHandler): def get(self):self.render('index.html')class ChatHandler(tornado.websocket.WebSocketHandler): users = set() def open(self):ChatHandler.users.add(self) def on_message(self, message):jsonObject = json.loads(message)for user in ChatHandler.users: print(user) self.write_message(jsonObject['message']) def on_close(self):ChatHandler.users.remove(self)if __name__ == ’__main__’: app = tornado.web.Application(handlers=[ (r'/', IndexHandler), (r'/ws',ChatHandler)] ) http_server = tornado.httpserver.HTTPServer(app) http_server.listen(12345) tornado.ioloop.IOLoop.instance().start()

現在的問題是,我分別在edge和chrome瀏覽器中通過localhost:12345訪問的時候,當在某一個瀏覽器中發送消息的時候,想實現的效果是兩個頁面都能收到該消息。但實際的情況是只有發出消息的瀏覽器頁面會收到兩個MessageEvent,請問該如何解決這個問題?

問題解答

回答1:

self.write_message(jsonObject['message'])

意思是,從誰那里收到的消息,就發給誰。有幾個人在線發幾次。

而你需要的是,不管從誰那里收到消息,都給每個在線的發一份。誰在線呢?當然是正在被迭代的 user 了。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 91精品国产综合久久久动漫日韩 | 在线视频91 | 日韩一区二区三区精品 | 亚洲免费在线观看av | 久久久久久久一区二区三区 | 久草院线| 日韩欧美大片在线观看 | 在线观看黄免费 | 欧美精品久久久久久 | 国产精品一区视频 | 午夜成人免费视频 | 久久国产精品网站 | 免费高潮视频95在线观看网站 | 久久精品视频99 | 99久久婷婷国产综合精品电影 | 国产成人一区二区三区 | 国产精品自产拍 | 91精品91久久久 | 久久久久久网站 | 久久久久久91香蕉国产 | 91免费电影 | 欧美一区中文字幕 | 久草新在线 | 日韩三区 | 羞羞色影院 | 国产原创在线观看 | 99视频在线免费观看 | 亚洲精品日韩在线 | 欧美日韩一区二区在线 | 中文字幕一区二区在线观看 | 日韩精品一区二区在线 | 日p视频免费看 | 久久五月婷 | 欧美日韩高清在线观看 | 综合精品 | 精品视频一区二区三区在线观看 | 久久精品久久久久久 | 99成人免费视频 | 狠狠av| 成人在线看片 | 日日干天天操 |