0

我正在构建一个应用程序,它检索数据并将其解析为二维数组对象,然后再将其发送回客户端。然后应用程序使用这些数据在 HTML5 画布上创建图像。该数组包含数千个条目,当我使用 GWT-RPC 构建应用程序时,它可以正常工作,但是将数组传输到客户端花费了太长时间(几分钟)。

我在搜索解决方案时发现了这个问题:http ://code.google.com/p/google-web-toolkit/issues/detail?id=860

最后一个回复是几个月前的,但是对于将大型数组从服务器传递到客户端的最佳方式,似乎还没有一个确凿的答案。由于 deRPC 已被弃用(我还没有实际尝试使用它),使用 requestfactory 是唯一的选择吗?似乎 requestFactory 应该用于访问数据库,而不是用于执行计算和返回大结果,而且我还没有找到请求计算并传回结果的示例。我应该在当前实现中创建一个 JSON 对象而不是一个数组并保留 RPC,还是在 requestFactory 方面遗漏了什么?

4

1 回答 1

4

您链接到的问题是关于客户端反序列化速度慢而不是数据传输速度。您应该首先使用 Firebug 或类似工具测量传输速度,然后从 RPC 调用的总时间中减去此时间,以了解在反序列化期间花费了多少时间。粗略地说,分手是这样的:

总 RPC 时间 = 服务器上花费的时间 + 网络输入输出时间 + 反序列化时间

您应该首先找出哪个部分是真正的瓶颈,如果事实证明是数据传输速度,您可能需要重新考虑您的设计。请参阅对相关问题的回答。

编辑:

IMO,在您计算出上述时间分解之前,您应该搁置 JSON 或其他方法是否适合您的问题

于 2011-08-23T11:44:47.857 回答