Запустите 2 Python3 `http.server` на одной машине, разные порты - PullRequest
0 голосов
/ 01 мая 2020

Ситуация: Нужно 2 ad-ho c Python3 http.server экземпляров на одном компьютере.

Проблема: первый сервер был успешно запущен из командной строки

python3 -m http.server 8888

Второй сервер был выполнен с использованием следующего сценария:

import http.server
import socketserver as ss

os.chdir("/path/to/working/directory")
Handler = http.server.SimpleHTTPRequestHandler
with ss.TCPServer(("", 8000), Handler) as httpd:
    try:
        httpd.serve_forever()
    except PermissionError:
        print("Permission denied.")

Второй сервер прерван с OSError: [Errno 98] Address already in use.

Вопрос: Как я могу запустить два Python3 http.server на одном компьютере (прослушивание 0.0.0.0)?

Дополнительная информация 1: Я проверил, и нет других служб, удерживающих порт 8888 (порт сервера 1) и 8000 (порт сервера 2).

Дополнительная информация 2: я не уверен почему, но если я переверну два порта оба сервера работают как надо (т.е. сервер 1 работает на порту 8000; сервер 2 работает на 8888). Есть идеи почему?

...