我正在编写一个有趣的在线白板应用程序,多个用户查看同一个白板并可以在上面绘图。我正在使用 websockets(前端的 vanilla JS,后端的 Scala),现在基本上只是从一个用户向其他用户广播鼠标事件,并在客户端渲染图像。
但是,这会导致暂时的共享状态,而我希望用户能够随时跳上并查看保留的共享状态。我认为这可能需要在后端和前端共享渲染代码,以便客户端在流式传输时渲染事件,但服务器可以在客户端关联时发送原始图像数据。
所以我的问题是:对于这种项目,我应该注意哪些其他设计模式?这是一个娱乐/学习项目,所以这是一个开放式问题,但我会接受一个包含此类数据流的一些有用参考的答案。