Я разрабатываю брандмауэр для обмена сообщениями 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), но похоже, что ему еще не удавалось решить проблему.