2014-01-02 3 views
1

Я хочу создать соединение между моим мобильным Safari и nodejs + socket.io на моем Macbook.socket.io не подключается к мобильному браузеру

Когда я вызываю localhost: 8080 с моего ноутбука, все работает нормально. Консоль говорит, что клиент подключен, и отображается мой маленький веб-сайт.

Когда я вызываю это через свой мобильный браузер с 10.0.1.5:8080, веб-сайт отображается также, но мой сокет.io не идентифицирует мобильный браузер (iPhone) как клиент, и ничего не происходит на консольной плате ,

Кто-нибудь, в чём проблема?

+0

Вы можете добавить свой код коагуляции? – jmingov

+0

Проверьте, поддерживает ли ваш браузер веб-узлы http://caniuse.com/websockets – user568109

ответ

1

Веб-сокеты не работают через сотовую сеть, поскольку они не перенаправляются http-прокси.

Возможный способ обхода его установить порт WebSocket сервер 443 (HTTPS), который перенаправляет все (как HTTPS шифруется прокси имеет, чтобы направить его в целях поддержки HTTPS).

Чтобы увидеть реальный мир, который решает эту проблему таким образом, зарегистрируйтесь nearby.

Помните, что это требует использования двух HTTP-серверов:

  1. сервировке вас мобильное приложение (порт 80)
  2. Порции веб-сокетов на (порт 443)

Иначе вы всегда должны используйте определенные порты в своих URL-адресах, которые в большинстве случаев не являются предпочтительными в производстве.

3

Я нашел это сообщение на SO, возможно, может помочь вам. why does my nodejs socket.io app not work on ios6

Localhost является локальным для машины. Вы IP-адрес должен использовать IP-адрес или доменное имя:

что-то вроде: io.connect ('192.168.1.110'); или io.connect ('test.myapp.com');

Смежные вопросы