Android支持在websocket协议中进行隧道传输的JSON-RPC有多好? 你对此有什么经验吗?
感谢!!!
答案 0 :(得分:1)
对于"支持"这是一个非常具体的事情。 Websockets只是通过HTTP实现的双向通信协议(请求的HTTP部分执行"升级"允许重用TCP套接字,与HTTPS的方式非常相似)。
如何吗
只需选择您熟悉的任何适用于Android的Websockets实现。也许是Autobahn?
到"隧道"例如,JSON-RPC就可以对JSONRPCClient中的android-json-rpc类进行子类化(覆盖doJSONRequest
方法,方法与JSONRPCHttpClient完全相同)命名你的实现JSONRPCWebsocketsClient
(使用您选择的任何Websockets实现)。
<强>为什么吗
一个更重要的问题是你需要通过Websockets隧道JSON-RPC吗?
如果它仅用于&#34;通知&#34;消息,那么为什么不这样做而不是计划TCP(更轻量级)而不是Websockets(更复杂)。
如果要使用某些特定的服务器实施,那么您的选择就是&#34;与之共存&#34;或者在客户端和服务器之间放置某种代理服务器。
如果它使用HTTP绕过公司防火墙(可能与需要服务器到客户端&#34;通知&#34;消息),那么这可能是一个&#34;好&#34;解决方案,一个更容易的实际可能是从所述公司内部获得ITS的支持,以暴露一个安全的,众所周知的端点,而不受任何目前阻止你的限制。