py:importloggingimportos.pathimportuuidimporttornado.httpserverimporttornado.ioloopimporttornado.optionsimporttornado.webimporttornado.websocketdefsend_message(message):forhandlerinChatSocketHandler.socket_handlers:try:handler.write_message(message)except:logging.error('Errorsendingmessage',exc_info=True)classMainHandler(tornado.web.RequestHandler):defget(self):self.render('index.html')classChatSocketHandler(tornado.websocket.WebSocketHandler):socket_handlers=set()num=0defopen(self):ChatSocketHandler.num=ChatSocketHandler.num+1name="name:%s"%ChatSocketHandler.numChatSocketHandler.socket_handlers.add(self)send_message('Anewuserhasenteredthechatroom.')defon_close(self):ChatSocketHandler.num=ChatSocketHandler.num-1ChatSocketHandler.socket_handlers.remove(self)send_message('Auserhasleftthechatroom.')defon_message(self,message):send_message(message)defmain():application=tornado.web.Application([('/',MainHandler),('/new-msg/socket',ChatSocketHandler)],debug=True)http_server=tornado.httpserver.HTTPServer(application)http_server.listen(8000)tornado.ioloop.IOLoop.instance().start()if__name__=='__main__':main()html:{{title}}helloworldsend$(function(){$('#do').click(function(){sendMessage()})longMesaage()})//發送信息functionsendMessage(){varurl="http://to.com/new/message"$.post(url,{con:'hello'});}//長連接,查看是否有新消息functionlongMesaage(){varurl="http://to.com/new/get"$.get(url,function(data){$('#con').append(""+data+"");longMesaage()})}這個一個簡單的demo我想改進下頁面上設置好用戶名,然后每次發言的時候帶上用戶名這個應該怎么改?
tornado websocket 怎么區別每個連接的用戶?
守候你守候我
2019-04-13 08:37:05