0

我正在使用事件源 rpc 插件在一段时间后从服务器端推送数据,例如。200 毫秒,因此不存在客户端请求,因此我需要在客户端有一个缓冲区(FIFO),因为服务器发送大量数据(200 毫秒非常快)并在客户端图表中显示数据(我正在使用 GChart),我需要在客户端顺利显示它,这就是为什么我需要客户端的缓冲区来保存数据并显示值 (x,y)(x1,y1)(x2,y3)....( Xn,Yn)... 在图中以 FIFO 的方式运行并且运行平稳,并且我可以根据客户端性能动态调整 200ms 延迟并向服务器发送回关于

客户端和服务器之间的通信可以写成人类对话,如下所示

客户:减慢先生服务器我无法处理这么多数据而且我的 FIFO 缓冲区已满..

服务器:好的,我将延迟时间从 200 毫秒更改为 500 毫秒,但是当您要执行的数据较少时,请告诉我,我会再次将其更改为更快的心情,即 200 毫秒。

客户:好的,现在发送我的快速数据,我的缓冲区是空的。

在此先感谢 Gwt、gchart、事件源

4

2 回答 2

1

一个简单的 ArrayList 不行吗?(用作缓冲区,只需附加值并删除第一个元素?)

如果这太慢(Java 仿真开销太大),您可能会创建一个更多的 Java 原生数组,或者找到一些现成的实现来使用。

我会开始使用一个简单直接的 ArrayList 并查看它是否工作得足够快,如果结果太慢,我会寻找一些更快的替代方案......

于 2011-06-16T10:26:16.853 回答
0

服务器发送事件(又名 EventSource)只有一种方式:服务器到客户端。看到这个:http ://www.html5rocks.com/en/tutorials/eventsource/basics/

在您的情况下,您需要将一些数据发送回服务器以通知它更慢地发送数据(增加延迟)。由于 EventSource 只是一种方式,因此您需要一个额外的连接(可能是 GWT-RPC)来通知服务器减速。

于 2011-06-16T10:34:57.993 回答