我正在开发用于进行和接受测试的基本应用程序(包含多项选择题和所有其他内容)。这是使用websockets和react-redux
制作的React SPA。后端是使用django-channels
用Python编写的。基本上,我想知道是否存在相对简单的方法来将一个客户端所做的更改推送到服务器,再从那里推送到其他客户端。
现在,我正在使用“基于事件的同步”,在该交互中,客户端会确定需要创建,删除或更新状态的哪些部分,并将该请求发送到服务器。服务器对请求进行身份验证,进行必要的处理(数据库,通知),并将结果作为消息发送给客户端,客户端将其合并为状态。
该应用程序基本上是桌面应用程序-延迟不是问题。目前,互动虽然不是瞬间,但可以接受的快速。我没有为此使用合适的框架(例如Qt)的原因是因为要花很多时间才能获得任何好处,更不用说它必须通过PyQt绑定来完成。
我想知道是否存在一种相对简单的方法来同步整个状态,以便不必写出所有小事情,我可以简单地在客户端上操纵状态并调用syncEverything
。这样,我可以使交互变得非常快,并在发生问题(格式错误的请求,身份验证问题等)时回滚,只需再次请求状态的相关部分即可。我敢肯定,这是完成到死的普通任务,但我不知道可以接受的做法。