Python框架之Tornado(三)请求
概述 本篇就来详细介绍tornado服务器(socket服务端)是如何接收用户请求数据以及如果根据用户请求的URL处理并返回数据,也就是上图的3系列所有步骤,如上图【start】是一个死循环,其中利用epoll监听服务端socket句柄,一旦客户端发送请求,则立即调用HttpServer对象的_handle_events方法来进行请求的处理。 对于整个3系列按照功能可以划分为四大部分: 获取用户请求数据(上图3.4) 根据用户请求URL进行路由匹配,从而使得某个方法处理具体的请求(上图3.5~3.19) 将处理后的数据返回给客户端(上图3.21~3.23) 关闭客户端socket(上图3.24~3.26) 3.1、HTTPServer对象的_handle_events方法 此处代码主要有三项任务: 1、 socket.accept() 接收了客户端请求。 2、创建封装了客户端socket对象和IOLoop对象的IOStream实例(用于之后获取或输出数据)。 3、创建HTTPConnection对象,其内容是实现整个功能的逻辑。 class HTTPServer(object): def _handle_events(self, fd, events): while True: try: #======== 获取客户端请求 =========# connection,