gpt4 book ai didi

java - 将 iOS 和 Android 客户端连接到 SockJS 后端

转载 作者:IT老高 更新时间:2023-10-28 13:44:57 29 4
gpt4 key购买 nike

我正在使用 Spring WebSockets 开发 WebSocket 消息传递后端,它使用 SockJS + STOMP 协议(protocol)。不使用普通 WebSockets 的原因是因为我需要利用 SockJS 在 Spring WebSockets 中提供的安全集成以及 SockJS 的其他简洁功能,例如房间、订阅等。我想知道这是否是一个不错的选择以便移动(iOS 和 Android)和 Web 客户端应用程序可以轻松连接到后端服务器并执行消息传递。如果是,那么我可以为 iOS 和 Android 使用哪些库。

开启 SockJS GitHub page他们还列出了可用的客户端库,但没有 iOS 或 Android。所以,我想知道 SockJS 是否值得使用。

我发现对于 iOS 客户端 Primus-Objc (GitHub page) 库声称它们可以连接到 native WebSockets、Socket.IO、SockJS 或者 engine.io。 这是一个真实的说法吗?如果这是真的,那图书馆的质量怎么样?

如果可以在背面使用 SockJS,那么是否也可以显示 iOS 和 Android 的示例代码,以便我可以在移动设备上进行概念验证?

如果 SockJS 对我来说不是一个好的选择,那么是否比使用 Socket.io + Node.js(使用 JavaScript)构建我的消息传递应用程序更好。在我看来,Socket.io 拥有 iOS ( official library by Socket.IO guys ) 和 Android ( official library by Socket.IO guys ) 所需的所有客户端库。

另一种选择是使用 Netty-Socket.io库并手动构建每个端点,而无需 Spring Framework(我正在考虑使用)的任何帮助,但是我必须解决一个小挑战,那就是安全性。 Somebody actually already tried to do it ( the same author asking question on the official Netty-Socket.IO Github page ) 但看起来他还没有运气解决它。

最佳答案

问这个问题可能已经一年多了。但是,因为它是在谷歌搜索 SockJS+Android 时获得的第一个结果。所以,我发布我的答案。

根据我最近参与的一个项目的经验,我们能够使用 STOMP 客户端 - like the one here - 从原生 Android 应用程序连接到 Spring Websocket 后端。

并且从浏览器中,您仍然可以使用 SockJS 客户端来获得跨浏览器对带有回退的 websockets 的兼容性。

需要注意的是,当仅使用 STOMP 客户端连接到 native websocket 时,URL 将类似于 ws://mydomain/SockJSEndpoint/websocket,当从浏览器使用 SockJS 客户端时,URL 将类似于 http://mydomain/SockJSEndpoint。

关于java - 将 iOS 和 Android 客户端连接到 SockJS 后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31817135/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com