4

我们目前正在开发一种服务器,客户端通过该服务器请求对特定数据元素的更改感兴趣,并且当该数据更改时,服务器将数据推送回客户端。关于客户轮询这些数据是否更好,在工作中存在激烈的争论。

就性能、可扩展性和网络负载而言,在近实时环境中传输数据的理想方法是什么?

更新: 这是一个关于 UI 更新的链接,提供了一些思考的食物。

4

3 回答 3

3

可能没有适合每种情况的理想方法,但推送通常更好并且更频繁地使用。它允许优化服务器缓存和数据传输,这有助于提高性能和可扩展性,并通过避免客户端请求和空响应来减少网络流量。服务器以自己的节奏运行并在准备好时向客户端提供数据可能是一个重要的优势。

行业标准 - 例如 OPC、GID - 都支持。服务器将更新推送给订阅的客户端,但客户端可以将一些很少使用的数据拉出来,而不用担心订阅。

于 2008-09-12T11:59:16.050 回答
1

只要客户端启动连接(以通过防火墙和 NAT 问题),任何一种方式都可以。

如果您需要发送几种不同类型的数据,您可能希望让客户端指定他想要的类型,但每个连接只需要一次。然后,您可以让服务器继续发送更新,因为它拥有它们。

在没有客户端不断请求更新的情况下让服务器发送更新会减少网络流量。

于 2008-09-12T11:49:16.120 回答
0

你在客户端有什么?许多防火墙允许传出请求但阻止传入请求。换句话说,如果您正在穿越 Internet,除非您发送电子邮件,否则拉取可能是您唯一的选择。

于 2008-09-12T11:53:05.253 回答