博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
稍微成型点的用WEBSOCKET实现的实时日志LOG输出
阅读量:5951 次
发布时间:2019-06-19

本文共 1696 字,大约阅读时间需要 5 分钟。

难的是还是就地用JS显示出来相关的发布进度。

还好,花了一下午实现了。

可以移植到项目中去罗。。。

websocket.py:

import tornado.ioloopimport tornado.webimport tornado.websocketfrom tornado.ioloop import IOLoopfrom datetime import timedeltaimport timeimport osimport sysimport tornado.httpserverclass WebSocketHandler(tornado.websocket.WebSocketHandler):    file_content = ""    filename = "test.log"    def open(self):        pass    def update_client(self):        self.write_message(self._read_file(self.filename))    def on_message(self, message):        print message        self.filename = message.split('-')[1]        self.update_client()    def on_close(self):        pass    def _read_file(self, filename):        print filename, '================='        with open(filename) as f:            content = f.read()            content_diff = content.replace(self.file_content, '')            self.file_content = content            return content_diffclass IndexPageHandler(tornado.web.RequestHandler):    def get(self):        self.render("websockets.html")class Application(tornado.web.Application):    def __init__(self):        handlers = [            (r'/', IndexPageHandler),            (r'/ws', WebSocketHandler)        ]        settings = dict(            template_path=os.path.join(os.path.dirname(__file__), "templates"),            static_path=os.path.join(os.path.dirname(__file__), "static"),            debug=True        )        tornado.web.Application.__init__(self, handlers, **settings)if __name__ == '__main__':    ws_app = Application()    server = tornado.httpserver.HTTPServer(ws_app)    server.listen(8888)    tornado.ioloop.IOLoop.instance().start()

websocket.html:

Tornado WebSockets
停止刷新

样子:

转载地址:http://xjpxx.baihongyu.com/

你可能感兴趣的文章
Spring Boot 学习系列(01)—从0到1,只需两分钟
查看>>
CDN与智能DNS原理和应用
查看>>
WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit)
查看>>
关于IPMI的几个问题
查看>>
zip压缩解压
查看>>
[外包]!采用asp.net core 快速构建小型创业公司后台管理系统(四.quartz 简单配置使用)...
查看>>
C#用WebBrowser与WIN API辅助模拟获取网站完整Cookie
查看>>
MS CRM 2011 Audit
查看>>
架构语言ArchiMate - ArchiMate提供的基本视角(Viewpoints)介绍一
查看>>
windows剪贴板
查看>>
求一个截取字符的正则表达式
查看>>
一些科研中经常用到的工具
查看>>
IntelliJ Idea 常用快捷键列表
查看>>
『转载』看c#打印的各种技术
查看>>
请确保此代码文件中定义的类与“inherits”属性匹配.并且该类扩展的基类(例如 Page 或 UserControl)是正确...
查看>>
<JS:The Definitive Guide > JavaScript 和 XML
查看>>
mysql开启远程访问权限
查看>>
2007年4月 [Update to 4.27]
查看>>
用户自定义函数代替游标进行循环拼接
查看>>
内存管理四
查看>>