在使用 GWT 创建的 RIA 网络客户端中,状态在网络客户端中维护,而服务器(几乎)是无状态的(这是保持站点可扩展性的首选技术)。
但是,如果多个用户在他们的浏览器中查看相同的数据,并且一个用户更改了一些内容,这些内容被发送到服务器并存储在数据库中,其他用户的浏览器状态仍然是旧数据。例如,显示了一棵树,其中一个用户从树中添加/删除了一个项目。
由于客户端中可以有很多状态,保持客户端状态同步的最佳技术是什么?是否有任何 Java 框架可以解决这个问题?
最佳答案
仅推送更改(增量),它适用,如果不适用——完全重新同步客户端。这就是我们对远程客户端所做的(不仅是 GWT,还有 Eclipse RCP)。我们在更改很小且是本地时发送增量上下文,并且在全局更改时我们重新同步。这将需要设计一个复杂的 diff 协议(protocol),并且通常需要从头开始重新设计远程客户端协议(protocol)。
关于java - 当多个客户端查看相同数据时,如何使有状态 Web 客户端保持同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2863983/