在这个地方首先线上一个流程图
在上一篇Blog中,我们说过到了Application对象的初始化,
最后说得到Appliction,初始化完之后调用的是listen(),这是调用HTTPServer类的方法。
打开源码可以看到,HTTPServer这个类是继承TCPServer的。所以说我们首先去看看
TCPServer的定义。
class
TCPServer
(
object
):
###############################
r"""A non-blocking, single-threaded TCP server.“
1. `listen`: simple single-process::
server = TCPServer()server.listen(8888)IOLoop.instance().start()
2. `bind`/`start`: simple multi-process::
server = TCPServer()server.bind(8888)server.start(0) # Forks multiple sub-processesIOLoop.instance().start()
When using this interface, an `.IOLoop` must *not* be passedto the `TCPServer` constructor. `start` will always startthe server on the default singleton `.IOLoop`.
3. `add_sockets`: advanced multi-process::
sockets = bind_sockets(8888)tornado.process.fork_processes(0)server = TCPServer()server.add_sockets(sockets)IOLoop.instance().start()###############################
def
__init__
(
self
,
io_loop