Restlet流数据

我正在执行这项任务,我将从设备读取数据并通过Web服务提供。 数据每秒读取4次。 我希望Web客户端具有开放的HTTP连接,并且只要客户端保持连接打开,就可以使用分块传输将设备读数作为流获取。

作为一个概念certificate,我想从一个不断生成随机数的服务开始,每秒4次,将其包装在json中并将其传输给客户端。 我试图基于twitter流API来松散地建模。

我正在使用restlet 2.1.2来创建该webservice,但我不确定我应该使用哪个Representation来实现这一点。 我试着寻找这个,但没有找到任何有用的东西。 有人可能会指出我正确的方向,我应该使用什么,也许是一些例子。

谢谢

为了实现你想要做的事情,我会使用WriterRepresentation (但是看看我对你的另一个问题的回答 ),但我很确定你的建筑方向是错误的。

确实是您链接的文档中的以下图像

在此处输入图像描述

显示了即使是Twitter流API也不是由用户连接,而是由后台进程在HTTP可访问的商店中下载。 用户仅轮询HTTP服务器,该服务器从存储中读取消息并将其发送回客户端。

作为一种断开连接的协议,HTTP实现了大规模的可扩展性,否则这是不可能的。 如果每个客户端建立由专用服务器线程支持的持久TCP连接,您将快速耗尽服务器资源! 此外,用户代理和服务器之间的任何HTTP代理都可能导致意外行为。

因此,如果您绑定到HTTP协议, 则用户代理应进行轮询 。 您可以使用Last-Modified / If-Modified-Since或Etag / If-None-Match等标头减少网络负载。

但是,如果您可以采用不同的协议,我强烈建议您通过连接的TCP协议尝试服务总线