Как я могу написать Http-сервер в TornadoWeb, который будет поддерживать постоянные соединения.
Я имею в виду, сможет получать много запросов и отвечать на них, не закрывая соединение.
Как это на самом деле работает в асинхронном режиме?
Я просто хочу знать, как написать обработчик для обработки постоянного соединения.
Как на самом деле это будет работать?
У меня есть такой обработчик:
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()
выполнить обратный вызов по окончании.
мое предположение правильно, что с такими вещами сообщение будет вызываться много раз
а для одного соединения количество будет увеличиваться с каждым httprequest от клиента?
но для каждого соединения у меня будет отдельное значение счетчика?