Android JSON-RPC通过websocket进行隧道传输

时间:2014-05-30 10:00:55

标签: android websocket json-rpc

Android支持在websocket协议中进行隧道传输的JSON-RPC有多好? 你对此有什么经验吗?

感谢!!!

1 个答案:

答案 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;来自较旧的JSON-RPC提案的消息? (我会!)
  • 您是否因某些非常具体的服务器端实施而烦恼?
  • 这只是为了通过一些愚蠢的公司防火墙吗?

如果它仅用于&#34;通知&#34;消息,那么为什么不这样做而不是计划TCP(更轻量级)而不是Websockets(更复杂)。

如果要使用某些特定的服务器实施,那么您的选择就是&#34;与之共存&#34;或者在客户端和服务器之间放置某种代理服务器。

如果它使用HTTP绕过公司防火墙(可能与需要服务器到客户端&#34;通知&#34;消息),那么这可能是一个&#34;好&#34;解决方案,一个更容易的实际可能是从所述公司内部获得ITS的支持,以暴露一个安全的,众所周知的端点,而不受任何目前阻止你的限制。