Tornado中的HTTP服务器启动函数serve()的使用方法
Tornado是一个功能强大的Python Web框架,它的HTTP服务器是其中的核心组件之一。serve()函数用于启动Tornado的HTTP服务器,并监听指定的端口。下面是serve()函数的使用方法以及一个使用例子。
使用方法:
serve()函数位于tornado.httpserver模块中,使用前需要先导入该模块。serve()函数的原型如下:
tornado.httpserver.HTTPServer.listen(port, address=None, **kwargs)
参数:
- port:要监听的端口号。
- address:要监听的IP地址,默认为None,表示监听所有可用的地址。
- **kwargs:其他参数,例如下面将要介绍的callback参数。
返回值:
无返回值,函数启动成功后会一直运行,直到服务器被手动停止。
使用例子:
下面是一个使用serve()函数启动Tornado HTTP服务器的例子:
import tornado.ioloop
import tornado.web
import tornado.httpserver
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
def make_app():
return tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
app = make_app()
server = tornado.httpserver.HTTPServer(app)
server.listen(8888)
tornado.ioloop.IOLoop.current().start()
在上面的例子中,首先定义了一个处理HTTP请求的Handler类MainHandler,其中的get()方法用于处理GET请求,并返回一个字符串"Hello, world"。然后定义了一个make_app()函数,该函数返回一个Tornado应用程序实例,将"/"路径映射到MainHandler。在main函数中,先通过make_app()创建一个应用实例app,然后创建一个HTTPServer实例server,并通过server.listen(8888)指定要监听的端口为8888。最后调用tornado.ioloop.IOLoop.current().start()启动Tornado的IOLoop循环,接收和处理请求。
通过在命令行中执行该脚本,Tornado的HTTP服务器就会在本地监听8888端口,当访问http://localhost:8888/时,会返回字符串"Hello, world"。
