Django: Как настроить команду runserver_socketio для manage.py

Я пишу чат в реальном времени, похожий на этот пакет с Django. Он запускает отдельный сервер WebSocket с командой

python manage.py runserver_socketio

Но я не могу понять, как сделать runserver_socketio Команда загрузить мой обработчик. Единственный связанный код, который я могу найти в пакете, находится здесь, в django-socketio/django_socketio/management/commands/runserver_socketio.py:

server = SocketIOServer(bind, handler, resource="socket.io")
....
handler = WSGIHandler()

Но с какой стати это handler связано с моим кодом?

1 ответ

Решение

Я понял. manage.py runserver_socketio Команда запускает почти такой же сервер, как manage.py runserver делает. Разница лишь в том, что этот новый сервер может обрабатывать протокол websocket.

Чтобы увидеть это, предположим, runserver работает на 127.0.0.1:8000 а также runserver_socketio на 127.0.0.1:9000, Просто посетить 127.0.0.1:9000 и вы получите ту же веб-страницу с 127.0.0.1:8000,

Секрет кроется в django-socketio/django_socketio/example_project/urls.py, который ссылается django-socketio/django_socketio/urls.py, В эту секунду urls.pyмы можем видеть, что он загружается events.py в нашем проекте.

Другие вопросы по тегам