我们目前正在开发一个服务器,客户端要求对特定数据元素的更改感兴趣,并且当数据发生更改时,服务器会将数据推送回客户端。关于客户是否更好地轮询这些数据,在工作中存在激烈的争论。
在近实时环境中,在性能,可扩展性和网络负载方面,数据传输被认为是理想的方法吗?
更新 这是一个Link,它提供了一些关于UI更新的思考。
答案 0 :(得分:3)
对于每种情况,可能没有理想的方法,但推动通常更好并且更经常使用。它允许优化服务器缓存和数据传输,这有助于提高性能和可扩展性,并通过避免客户端请求和空响应来减少网络流量。服务器以自己的速度运行并在客户端准备就绪时为客户提供数据,这是非常重要的优势。
行业标准 - 例如OPC,GID - 支持两者。服务器将更新推送到订阅的客户端,但客户端可以将一些很少使用的数据拉出来,而不必费心订阅。
答案 1 :(得分:1)
只要客户端启动连接(通过防火墙和NAT问题),无论哪种方式都可以。
如果您需要发送多种不同类型的数据,您可能希望让客户端指定他想要的类型,但每个连接只需要一次。然后,您可以让服务器继续发送更新。
如果客户端不断要求更新,服务器发送更新将减少网络流量。
答案 2 :(得分:0)
你在客户方面有什么?许多防火墙允许传出请求但阻止传入请求。换句话说,如果您要通过互联网,除非您发送电子邮件,否则拉可能是您唯一的选择。