Как использовать SocketRocket с socket.io? - PullRequest
8 голосов
/ 16 февраля 2012

Новая библиотека веб-сокетов для iOS, SocketRocket , выглядит действительно потрясающе, и пример проекта чата действительно приятен.Пример сервера чата написан на Python, о котором я не знаю ни одного.Я немного знаком с socket.io на node.js и предпочитаю попробовать javascript.Я попытался подключить приложение симулятора SocketRocket TestChat к node.js (6.10) socket.io (0.8.7), но в соединении было отказано.(Также я не эксперт по узлам, так что это может быть глупый вопрос).

В недавнем ответе на вопрос SO mikelikespie сказал op: «Я предлагаюобновите свой стек, чтобы использовать только что выпущенную нами библиотеку iOS WebSocket. "

Что это значит точно?Что необходимо для того, чтобы библиотека SocketRocket могла общаться с сервером узла socket.io?Любой пример кода или предложения с благодарностью.

Ответы [ 3 ]

8 голосов
/ 16 февраля 2012

Ну, у вас в socket.io есть свой собственный протокол, построенный на транспортных протоколах, таких как веб-сокеты или длинные опросы, ну а SocketRocket - это просто библиотека веб-сокетов, не более того.Socket.io также имеет некоторую аутентификацию, поэтому его невозможно использовать с обычными веб-сокетами.Я предлагаю вам использовать только сервер веб-сокетов, не более того.Например, ws , который должен быть совместимым.Существуют и другие библиотеки, но, ws Я считаю, что в настоящее время активно развивается и новее, чем другие.

Вы также можете сделать свой клиентский socket.io совместимым, но я думаю, что он не нужен.Вот спецификации для этого: https://github.com/LearnBoost/socket.io-spec

Надеюсь, я помог.

3 голосов
/ 02 мая 2013

socket.IO-objc на GitHub выглядит зрелой библиотекой Socket.IO / Objective C

Он использует SocketRocket для обработки соединений веб-сокетов.

Этопозволит вам иметь сокет-сервер, который поддерживает более старые браузеры (ухудшается до длинных опросов и т. д.) и по-прежнему доступен для вашего приложения iOS через SocketRocket.

2 голосов
/ 03 сентября 2014

Я только что установил активное сокетное соединение между сервером Node.JS и приложением iOS, используя эту библиотеку .Я использовал этот, потому что README на Socket.IO-ObjC говорит:

Текущая версия этой библиотеки еще не поддерживает socket.io v1.0.Поэтому, если вы хотите использовать socket.io-objc, вернитесь к v0.9.x.

, но я всегда хочу использовать последнюю версию для всего.Поэтому, если вы хотите использовать Socket.IO v1.0, вы можете использовать тот, который указан по ссылке, приведенной несколькими строками выше.

...