tornado服务器部署和json输出

作者 夜狼荼 2019年12月13日 03:42 阅读 1118

服务器端

参考官网:https://www.tornadoweb.org/en/stable/httpserver.html

<p></p> ```python

1.1:listen方式

这种方式将创建一个简单的单进程服务器,且这种方式用来避免明确创建一个HTTPServer

server = HTTPServer(app) server.listen(8000) IOLoop.current().start()

1.2:bind/start方式

这种方式将创建一个简单的多进程服务器

server = HTTPServer(8000) server.bind(8000) server.start(0) IOLoop.current().start()

1.3:add_sockets方式

这种方式将产生一个高级的多进程服务器

sockets = tornado.netutil.bind_sockets(8000) tornado.process.fork_processes(0) server = HTTPServer(app) server.add_sockets(sockets) IOLoop.current().start()


## json数据传输

### 1、获取前端传输过来的数据
json数据被存放在request中,可以通过self.request.body获得,但是需要进行解码处理,self.request.body.decode(),就可以获得json数据进行后续处理了

```python
self.request.body.decode()

2、给前端传输json数据

直接将字典数据写入self.write()中,tornado 会自动转化为json,并且会将"Content-Type"设置为"application/json"。(如果您想以不同的内容类型发送JSON,请在调用write()之后调用set_header)。 application/json

self.set_header("Content-Type", 'application/Json; charset="utf-8"')
data = dict()
json.write(data)

发表评论