我的任务是从设备中读取数据,并通过web服务提供数据。数据每秒读取4次。我希望web客户端有一个开放的HTTP连接,并使用分块转移获取设备读数,只要客户端保持连接打开。
作为概念的证明,我想从一个不断生成随机数(每秒4次)的服务开始,将其封装在json中并将其流到客户端。我正在尝试建立基于twitter流api。的松散模型
我正在使用restlet 2.1.2来创建该not服务,但我不确定应该使用哪种表示来实现这一点。我试着寻找这个,但没有发现任何有用的东西。有人能为我指出正确的方向,我应该使用什么,也许一些例子,也许。
谢谢
发布于 2013-04-21 22:29:52
为了实现您所要做的事情,我将使用WriterRepresentation (但请参阅我的回答你的另一个问题),但我确信您正在朝着错误的架构方向前进。
实际上,您所链接的文档中的以下图像

展示了即使是Twitter流api也不打算由用户连接,而是通过下载通过HTTP访问的商店中的消息的后台进程来连接。用户只轮询HTTP服务器,该服务器从存储区读取消息并将消息发送回客户端。
作为断开连接的协议,HTTP支持大规模的可伸缩性,否则是不可能的。如果每个客户端都建立了一个由专用服务器线程支持的持久TCP连接,那么您将迅速消耗服务器资源!此外,用户代理和服务器之间的任何HTTP代理都可能导致意外行为。
因此,如果您绑定到HTTP协议,用户代理应该轮询。您可以使用像最后一次修改/如果-修改-自或Etag/如果-没有-匹配这样的头来减少网络负载。
但是,如果您可以采用不同的协议,我强烈建议在连接的TCP协议上尝试一个服务总线。
https://stackoverflow.com/questions/15995179
复制相似问题