У меня есть пять различных конечных точек WebSocket, которые я обслуживаю в gunicorn
с uvicorn
через django-channels
с помощью этой команды.
Он запускается через контейнер Docker:
CMD ["gunicorn", "-b", "0.0.0.0:8000", "-w", "4", "-k", "uvicorn.workers.UvicornWorker", "config.asgi:application"]
У меня есть JavaScript, который просто открывает соединения WebSocket с этими конечными точками:
const websocketUrl = 'http://example.com';
new WebSocket(`${websocketUrl}/ws/typeahead/foapal/`);
new WebSocket(`${websocketUrl}/ws/typeahead/fund/`);
new WebSocket(`${websocketUrl}/ws/typeahead/orgn/`);
new WebSocket(`${websocketUrl}/ws/typeahead/prog/`);
new WebSocket(`${websocketUrl}/ws/typeahead/actv/`);
Что я хочу сделать, так это то, что все 5 из приведенных выше соединений будут открываться асинхронно Однако вот как это выглядит на вкладке «Сеть» Chrome DevTools:
Как видите, браузер ожидает установления одного соединения WebSocket, прежде чем перейти к следующему.
Как я могу одновременно выполнить эти подключения?