欢迎访问宙启技术站
智能推送

Tornado中的HTTP服务器启动函数serve()的使用方法

发布时间:2024-01-15 11:30:07

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"。