posted @ 2018-11-02 22:17 马顿 阅读(1035) 评论(0) 推荐(0) 编辑
摘要:
如下代码所示,当tornado web server 的TCPSever接收到客户端的socket时,会将该soket添加至ioloop监听列表, 当socket可读时,ioloop会调用回掉函数tcpserver._handle_connection()函数 —— tornado io异步事件 t 阅读全文
摘要:
tornado异步原理 tornado有四类异步事件:立即事件,定时器异步事件,io异步事件,Future异步事件。 tornado 的ioloop管理所有的异步事件,并在适当的时机调用异步事件的回掉函数。 四类异步事件均在ioloop的start函数中调度。 立即事件: 场景:当前函数执行完后,下 阅读全文
posted @ 2018-11-02 21:58 马顿 阅读(1421) 评论(0) 推荐(0) 编辑
摘要:
基本操作: pip install alembic cd到工程根目录:alembic init path_name 修改alembic.ini中的数据库url 在env.py中添加工程路径至python库搜索路径 在env.py中导入所有的model 在env.py设置target_metadata 阅读全文
posted @ 2018-08-24 21:02 马顿 阅读(741) 评论(0) 推荐(0) 编辑
摘要:
tornado中HTTP服务器是承上启下的作用,它通过tornado.http1connection.HTTP1ServerConnection与tornado.http1connection.HTTP1Connection从socket中读取并解析http消息 然后调用application处理解 阅读全文
posted @ 2018-08-24 19:43 马顿 阅读(162) 评论(0) 推荐(0) 编辑
摘要:
TCPSever建立socket连接后,将socket包装成IOStream类,然后调用self.handle_stream()函数处理 tornado.httpserver.HTTPServer 继承了TCPSever,实现了handle_stream()方法。 HTTPSever通过两个类来实现 阅读全文
posted @ 2018-08-24 19:18 马顿 阅读(271) 评论(0) 推荐(0) 编辑
摘要:
编码问题可以两部分:什么是编码,哪些地方会用到编码 编码就是一张字节码与字符的对照关系表,不同的编码就是不同的对照关系,但是计算机在显示字符时用的是unicode,即计算机只保存了一张对照关系表 所以当计算机在任何情况下显示字符时,都会在内部将编码转换为unicode,然后再查找对应的字符。 涉及编 阅读全文
posted @ 2017-12-31 11:49 马顿 阅读(92) 评论(0) 推荐(0) 编辑
摘要:
一个使用gen.coroutine的实例: 去掉错误处理、对以前版本的兼容(yield_point)、修改了一些变量的名字后的coroutine源码: coroutine的作用: 1、tornado中每个异步过程由一个Future来表示,coroutine会改变这种特性,让异步函数直接返回结果。这一 阅读全文
posted @ 2017-12-24 11:08 马顿 阅读(820) 评论(0) 推荐(0) 编辑
摘要:
模块名接口类模块功能生成的数据结构数据结构作用处理数据的类处理过程 webApplication1、构造request 2、调用对应函数生成responsetornado风格的requestrequest:包含了请求行、请求头部、请求数据的类 response:包含了状态行、响应头部、响应数据的类_ 阅读全文
posted @ 2017-12-21 23:43 马顿 阅读(432) 评论(0) 推荐(0) 编辑