Итак, я настроил socket.io с сервером NodeJS + ExpressJS, и все работает хорошо. Единственная проблема заключается в том, что я понял, что мои вызовы emit()
используют метод резервного копирования XHR для отправки события на мой сервер, а не через открытое веб-соединение.
Когда я просматриваю соединение, все, что я вижу, это некоторые 2probe
, 3probe
, а затем группа из 2 и 3 отправляется через websocket. Это соединение кажется открытым и работающим, поэтому почему он возвращается к длительному опросу с запросами XHR?
Я не предоставляю никакого кода прямо сейчас, потому что я не уверен, какая часть будет полезна, так как функциональный аспект кода работает отлично, я просто хочу использовать websocket поверх XHR. Дайте мне знать, есть ли какой-нибудь код, который вы хотели бы видеть.
UPDATE
Итак, я немного тестировал сокеты, и я добавил еще пару emit()
вызовов. Похоже, что первые 1 или 2 эмиссии используют длительный опрос, а затем внезапно переходят к использованию websocket. Просто любопытно, что здесь происходит.