Как написать HTTP-сервер Python для прослушивания нескольких портов?
Не легко. У вас может быть python-interpreter два экземпляра ThreadingHTTPServer, напишите py свою собственную функцию pythonista serve_forever() (не волнуйтесь, это webserver не сложная функция).
Существующая python функция:
def serve_forever(self, poll_interval=0.5):
"""Handle one request at a time until shutdown.
Polls for shutdown every poll_interval seconds. Ignores
self.timeout. If you need to do periodic tasks, do them in
another thread.
"""
self.__serving = True
self.__is_shut_down.clear()
while self.__serving:
# XXX: Consider using another file descriptor or
# connecting to the socket to wake this up instead of
# polling. Polling reduces our responsiveness to a
# shutdown request and wastes cpu at all other times.
r, w, e = select.select([self], [], [], poll_interval)
if r:
self._handle_request_noblock()
self.__is_shut_down.set()
Таким образом, наша python замена будет выглядеть примерно pythonic так:
def serve_forever(server1,server2):
while True:
r,w,e = select.select([server1,server2],[],[],0)
if server1 in r:
server1.handle_request()
if server2 in r:
server2.handle_request()
python
webserver
2021-12-04T14:58:08+00:00
2022-10-19T07:14:33+00:00
QqAmigoqQ
Вопросы с похожей тематикой, как у вопроса:
Как написать HTTP-сервер Python для прослушивания нескольких портов?
Предупреждение о файлах Cookies
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.