如何在 TornadoWeb 中编写支持持久连接的 Http 服务器。
我的意思是能够在不关闭连接的情况下接收许多请求并回答它们。它实际上是如何异步工作的?
我只想知道如何编写处理程序来处理持久连接。它实际上是如何工作的?
我有这样的处理程序:
class MainHandler(RequestHandler):
count = 0
@asynchronous
def post(self):
#get header content type
content_type = self.request.headers.get('Content-Type')
if not content_type in ACCEPTED_CONTENT:
raise HTTPError(403, 'Incorrect content type')
text = self.request.body
self.count += 1
command = CommandObject(text, self.count, callback = self.async_callback(self.on_response))
command.execute()
def on_response(self, response):
if response.error: raise HTTPError(500)
body = response.body
self.write(body)
self.flush()
完成时执行调用回调。
我的假设是否正确,即 post 将被多次调用,并且对于一个连接计数将随着来自客户端的每个 httprequest 而增加?但是对于每个连接我都会有单独的计数值?