美文网首页爬虫
Python Tornado简单聊天室

Python Tornado简单聊天室

作者: 武步天下 | 来源:发表于2017-12-08 16:41 被阅读93次

    python3知识点

    jquery.min.js

    web服务器代码:

    #coding=utf-8

    importtornado.websocket

    importtornado.web

    importtornado.ioloop

    importdatetime

    classIndexHandler(tornado.web.RequestHandler):

    defget(self, *args, **kwargs):

    self.render('templates/index.html')

    classWebHandler(tornado.websocket.WebSocketHandler):

    users =set()#存放在线用户

    defopen(self, *args, **kwargs):

    self.users.add(self)#把建立连接后的用户添加到用户容器中

    foruserinself.users:#向在线的用户发送进入消息

    user.write_message("[%s]-[%s]-进入聊天室"% (self.request.remote_ip,

    datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")))

    defon_close(self):

    self.users.remove(self)# 用户关闭连接后从容器中移除用户

    foruserinself.users:

    user.write_message("[%s]-[%s]-离开聊天室"% (self.request.remote_ip,

    datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")))

    defon_message(self, message):

    foruserinself.users:#向在线用户发送聊天消息

    user.write_message("[%s]-[%s]-说:%s"% (self.request.remote_ip,

    datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), message))

    defcheck_origin(self, origin):

    return True# 允许WebSocket的跨域请求

    importos

    BASE_DIR = os.path.dirname(__file__)

    settings = {

    'static_path':os.path.join(BASE_DIR,'static'),

    "websocket_ping_interval":1,

    "websocket_ping_timeout":10

    }

    app = tornado.web.Application([(r'/',IndexHandler),

    (r'/chat',WebHandler)],

    **settings)

    app.listen(8009)

    tornado.ioloop.IOLoop.instance().start()


    HTML代码:python3知识点

    微信QQ

    #chatcontent{

    /*显示内容使用的*/

    width:500px;

    height:200px;

    background-color:pink;

    overflow-y:scroll;

    overflow-x:scroll;

    }

    发送

    ws=newWebSocket('ws://192.168.1.27:8009/chat')

    //服务器给浏览器推送消息的时候回调

    ws.onmessage=function(p1) {

    $('#chatcontent').append('

    '+p1.data+'

    ')

    }

    functionsend() {

    varcontent=$('#msg_container').val()

    ws.send(content)

    $('#msg_container').val('')

    }

    相关文章

      网友评论

        本文标题:Python Tornado简单聊天室

        本文链接:https://www.haomeiwen.com/subject/stclixtx.html