GWT:如何在客户端创建一个缓冲区(FIFO)来保存一些2D数组值(来自服务器,rpc)?

发布于 2024-11-15 11:40:29 字数 490 浏览 5 评论 0原文

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

可以将其写为人类对话,如下所示

客户端:放慢服务器先生的速度,我无法处理这么多数据,而且我的 FIFO 缓冲区已满。

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

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

预先感谢 Gwt、gchart、事件源

i am using event-source rpc plugging for data pushing from server side after a certain period eg. 200ms, so no client request exists, therefore i need a buffer (FIFO) in the client side because server send a lot of data(200ms is very fast) and to display the data in the client side graph (i am using GChart), i need to show it smoothly in the client side and that´s why i need the buffer in client side to hold the data and show the values (x,y)(x1,y1)(x2,y3)....(Xn,Yn)... in the graph in FIFO manner and perform smoothly and also i can dynamically adjust the 200ms delay according to the client performance and sending back an information to server about

Communication between client and server can be written as human conversation as below

Client: slow down mr server i can not handle so much data also my FIFO buffer is full..

Server: ok i am changing my delay time from 200ms to 500ms, but when you have less data to perform please let me know i will chage it again to faster mood that is 200ms.

Client: ok, now send my fast data my buffer is empty.

Thanks in advance Gwt, gchart, event-source

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

贪恋 2024-11-22 11:40:29

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

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

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

A simple ArrayList won't do? (Used as a buffer, by just appending values and remove first element?)

If this is too slow (too much Java emulation overhead) you could probably create a more java native array, or find some ready made implementation, to work with.

I would start using a simple straight forward ArrayList and see if it works fast enough, and if it turns out to be too slow, I'd look for some faster alternative...

旧伤还要旧人安 2024-11-22 11:40:29

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

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

Server-Sent Events (aka EventSource) are one way only: server to client. See this: http://www.html5rocks.com/en/tutorials/eventsource/basics/

In your case you need to send some data back to the server to notify it to send data more slowly (increase delay). Since EventSource is one way only, you'll need an additional connection (GWT-RPC maybe) to notify server to slow down.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文