Websockets на Ipad, есть ли что-то еще, что нужно сделать? - PullRequest
1 голос
/ 27 марта 2012

Я пытаюсь использовать веб-сокеты для проекта. Он должен использовать Ipad, хотя я не могу заставить его работать.

Я скачал копию этого кода, которая использует phpwebsocket http://www.flynsarmy.com/2012/02/php-websocket-chat-application-2-0/. Последовала настройка сервера. У меня это работает на разных компьютерах, в разных браузерах, без проблем.

Тогда я хотел протестировать его на своем Ipad (IOS 5.1), и он не будет работать. Поэтому я позаботился о том, чтобы веб-сокеты работали на ipad, что я обнаружил [ссылка] http://websocket.org/echo.html.

Затем я посмотрел на него дальше, чтобы увидеть, что оно пытается подключиться, но затем отключается через 15 секунд, я предполагаю, что время истекло. Он появляется в терминале на моем Mac, говоря, что он отключился.

В настоящее время я подключаю свой ipad к моему mac через wifi, чтобы посмотреть, был ли это маршрутизатор, и в терминале IP-адрес отображается по-другому, оканчиваясь на 255.255.255.100, а не на 255.255.255.96

Есть ли у кого-нибудь какие-либо идеи о том, что происходит, или что я должен сделать, чтобы разобраться в этом.

1 Ответ

5 голосов
/ 31 марта 2012

Какой беспорядок.На этой странице и в источнике проекта Flynsarmy указывает, что он использует PHPWebSocket , в то время как фактически он использует php-websocket-server .(Я отправил комментарий, указывающий на ошибку на его странице).

Эти два проекта PHP WebSocket совершенно разные:

  • PHPWebSocket относительно старый ине поддерживаемый проект, который поддерживает только более старую версию протокола WebSocket для Hixie (прототип).
  • php-websocket-server - это более новый, но менее известный проект, который поддерживает только более новые HyBi / IETF(стандартная) версия протокола.

Ваша проблема заключается в следующем: Safari Desktop и iOS в настоящее время поддерживают более старую версию протокола Hixie , которая не будет работать ни с одним проектом, основанным наphp-websocket-server.

Довольно легко создать серверы WebSocket, которые поддерживают как старые, так и новые версии протокола (и большинство языков имеют реализации, которые поддерживают), поскольку может быть обнаружена версия клиента / браузера.из начальных заголовков рукопожатия.Однако по какой-то причине не хватает серверов на базе PHP, которые поддерживают оба.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...