我正在构建一个通过HTTP接受请求的JSON-RPC服务器。我想支持双向通信(客户端和服务器都可以发送请求),特定的用例是发布/订阅架构,客户端发送一个 subscribe(X) 请求和接收 changed(X) 实时请求。据我所知,有几种方法可以通过HTTP实施此操作:

  • 长期投票
  • Websocket
  • 使用基于Cookie的会话模型进行投票电话
  • 流(保持HTTP连接打开)
  • 以上一些的组合

我正在寻找的是基于接受的互联网标准(如果可能的话)的解决方案,可从Web浏览器中使用,并且 在客户端易于使用. 。到目前为止,我更喜欢流媒体的东西(Twitter,Couchdb这样做),但是我不确定在浏览器和JSON-RPC库中支持这一点。另外,可能还有其他我不知道的方法。

先感谢您。

有帮助吗?

解决方案

我想你应该看看 socket.io 完成您的任务。如果您想观看作者的视频,则可以:”Socket.io研讨会:Guillermo Rauch“。在两个服务器上作为客户端都很容易使用。我创建了一个简单的示例 pubsub在socket.io顶部使用redis.

其他提示

据我所知,流媒体受FF的支持(Chrome(Chrome)(具有需要应用程序/八位字节的数据类型或工作前奏的数据类型)和IE8(通过一些Xdomainrequest)。我不知道歌剧。

我真的不知道有任何彗星行业标准, BAYEUX 可能是最接近的。很难看到Facebook/gmail/Twitter如何进行,因为所有代码都被混淆了,并且很难找到有关所有浏览器如何处理所有内容的太多信息。

更困难的是,您需要使用专门的服务器,保持这一多连接需要线程池等。正常服务器将很快爆炸。

如果您能够可靠地工作,这是一个非常强大的设计。

如果有人对Java实施感兴趣,我刚刚写了一个示例应用程序和一篇博客文章。它使用Java,Maven,Comet,Bayeux,Spring。http://jaye.felipera.cloudbees.net/ http://geeks.aretotally.in/thinking-in-reverse-not-not-taking-orders-from-yo

你应该看看 JSONRPC-BIDICONTION

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top