Как я могу запустить несколько соединений WebSocket одновременно? - PullRequest
0 голосов
/ 24 января 2019

У меня есть пять различных конечных точек 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:

Network tab

Как видите, браузер ожидает установления одного соединения WebSocket, прежде чем перейти к следующему.

Как я могу одновременно выполнить эти подключения?

...