Использование сервера и клиента Socket.IO на разных поддоменах

У меня есть два поддоменов:

socket.mydomain.com - сервер Socket.IOapp.mydomain.com - веб-приложение, которое я хотел бы подключить к своему веб-сокету.

На целевой странице app.mydomain.com я связал клиентский скрипт Socket.IO и успешно создал объект IO, например:

<script src=https://socket.mydomain.com/socket.io/socket.io.js></script>

<script type=text/javascript>
  const socket = io();
  socket.on('message', data => console.log(data));
</script>

Однако вместо того, чтобы пытаться подключиться кsocket.mydomain.comклиент пытается подключиться кapp.mydomain.com, Потому что нет гнезда вapp.mydomain.com, он терпит неудачу и продолжает повторять.

Есть ли способ подключить мое приложение наapp.mydomain.com к моей розетке вsocket.mydomain.com? Или это невозможно?

Обновить

Большинство всех существующих ответов, касающихся этого вопроса, теперь используют устаревший код, потому что Socket.IO недавно обновился до 1.0 (фактически 1.4). Однако, даже принимая во внимание эти изменения кода, этокажется как Socket.IO не позволяет то, что я пытаюсь сделать.

Когда Socket.IO устанавливает первоначальное соединение с сервером, он отправляет XHR сwithCredentials Настройки установлены на true. Но вы не можете иметьwithCredentials установить в истинуа также разрешить CORS на сервере. Так что, похоже, мой вопрос на самом деле: «Есть ли способ обойти эту проблему?»

Ответы на вопрос(1)

Ваш ответ на вопрос