在Node JS上存储实时画布会话数据



我正在使用nodeJS + HTML5 canvas编写一个实时绘图应用程序&websocket

当前服务器只是作为一个中继,每个用户绘制的内容被广播给其他用户。

这里的问题是,当新用户出现时,他们从一个空白的画布开始。

对于如何解决这个问题,我有两个想法

1)事件驱动的方法-这是我在内存中坚持每个绘制事件。当新用户出现在会话中。所有事件都被重构并发送给他/她。

2)服务器维护画布的副本。因此,服务器不仅会中继绘制事件,还会呈现所有绘制事件。当新用户出现时,将此状态传递给它。

有人对这两种方法的优缺点有什么想法吗?或者更好的解决方法!

这是我个人的回答。最好的方法是让服务器通过数据库维护数据的副本。这意味着无论何时客户端启动,在新客户端启动时丢失数据包的情况下,它们总是有数据可以使用,并且还能够维护遗留数据。当我开发类似的概念时,我以游戏对象为例,并获得了许多客户的良好回报。在本地网络上没有明显的延迟,即使有错误的设计概念。希望对大家有所帮助

相关内容

  • 没有找到相关文章