Python Tornado — TCP-сервер и приложение

Я установил tornado.tcpserver.TCPServer, который использует H2, чтобы заставить работать HTTP2. Теперь я столкнулся со следующей проблемой: я не могу создавать маршруты, и похоже, что нет возможности связать Tornado.web с Tornado.tcpserver...

AFAIK tornado.web.Application работает только с tornado.httpserver.HTTPServer :/ Но Tornado по-прежнему не поддерживает HTTP2, поэтому использование tornado.httpserver абсолютно не подходит для меня -_-

Кто-нибудь знает обходной путь или функцию, которая позволяет нам связать tornado.web.Application с tornado.tcpserver.TCPServer?


person Lazcano    schedule 29.06.2018    source источник


Ответы (1)


tornado.web.Application реализует интерфейс HTTPServerConnectionDelegate. Чтобы использовать его с другого сервера, вызовите start_request и передайте заголовки http и другие данные из реализации вашего сервера в возвращенный HTTPMessageDelegate.

В https://github.com/bdarnell/tornado_http2 есть собственная реализация HTTP/2 для торнадо.

person Ben Darnell    schedule 30.06.2018
comment
Потрясающая реализация! Большое спасибо - person Lazcano; 03.07.2018