Подтвердить что ты не робот

Подключение к клиентам iOS и Android для SockJS Backend

Я разрабатываю брандмауэр для обмена сообщениями WebSocket, используя Spring WebSockets, который использует протокол SockJS + STOMP. Причина, по которой не использовать простые WebSockets, заключается в том, что мне нужно будет использовать интеграцию безопасности, которую SockJS предоставляет в Spring WebSockets, а также другие опрятные функции от SockJS, такие как комнаты, подписки и т.д. Мне было интересно, если это хороший вариант чтобы мобильные (iOS и Android) и веб-клиентские приложения могли легко подключаться к серверу и выполнять обмен сообщениями. Если да, то какие библиотеки я могу использовать для iOS и Android.

На странице SockJS GitHub в них также перечислены доступные клиентские библиотеки, но нет iOS и Android. Итак, мне интересно, стоит ли SockJS использовать только из-за этого.

Я обнаружил, что для iOS-клиента Primus-Objc (GitHub страница), утверждающая, что они могут подключиться к native WebSockets, Socket.IO, SockJS or perhaps engine.io., это истинное утверждение? И событие, если это правда, а как насчет качества этой библиотеки?

И событие, если нормально использовать SockJS на задней панели, тогда также можно будет показать пример кода для iOS и Android, чтобы я мог выполнить доказательство концепции на мобильных устройствах?

Если SockJS не подходит для меня, то было бы лучше, чем создать мое приложение для обмена сообщениями с помощью Socket.io + Node.js(используя JavaScript). Socket.io, похоже, имеет все необходимые клиентские библиотеки для iOS (официальная библиотека для парней Socket.IO) и Android (официальная библиотека парней Socket.IO).

Другим вариантом может быть использование Netty-Socket.io и сборка каждой конечной точки вручную без какой-либо помощи из Spring Framework (которая Я планирую использовать), но есть небольшая проблема, которую мне придется решать, это безопасность. Кто-то на самом деле уже пытался это сделать (тот же автор задает вопрос о официальном Netty-Socket. IO Github), но похоже, что ему еще не удавалось решить проблему.

4b9b3361

Ответ 1

Может быть, прошло больше года с тех пор, как был задан вопрос. Но, поскольку он попадает в первые результаты, когда Googling для SockJS + Android. Итак, я отправляю свой ответ.

Из моего опыта работы с недавним проектом, над которым я работал, мы смогли использовать клиента STOMP -

Ответ 3

SockJS может быть интересным, поскольку он обеспечивает перенос не-ws. Просто использование WebSockets может быть невозможно во всех ситуациях.

Существует один межплатформенный клиент SockJs проекта OpenFL:

https://github.com/jeremyfa/openfl-sockjs

Не тестировалось, насколько хорошо это работает, но, по крайней мере, для Android, использующего JavaScript внутри WebView, он не должен отличаться от JavaScript. Опять же, неясно, насколько тесно он связан с OpenFL, но подход к использованию WebView и запаса SockJS-клиента, вероятно, может быть повторно использован.