我正在构建一个接受 HTTP 请求的 JSON-RPC 服务器。我想支持双向通信(客户端和服务器都可以发送请求),具体用例是发布/订阅架构,其中客户端发送 subscribe(X)
请求并接收 changed(X)
请求(几乎)实时。据我所知,有几种方法可以用 HTTP 实现:
- 长轮询
- WebSockets
- 使用基于 cookie 的 session 模型轮询调用
- 流式传输(保持 HTTP 连接打开)
- 上述一些的组合
我正在寻找的是一种基于公认的互联网标准(如果可能)的解决方案,可从网络浏览器使用并且易于在客户端使用。到目前为止,我更喜欢流媒体(Twitter、CouchDB 就是这样做的),但我不确定浏览器和 JSON-RPC 库对它的支持程度如何。此外,可能还有其他我不知道的方法。
提前致谢。
最佳答案
我想你应该看看socket.io完成你的任务。如果您想观看作者的这段视频,您可以:“Socket.IO Workshop: Guillermo Rauch”。在两个服务器上作为客户端都很容易使用。我创建了一个简单示例 pubsub using redis on top of socket.io .
关于javascript - 通过 HTTP 进行实时双向 JSON-RPC 通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4823191/