我正在使用nodeJS + HTML5 canvas& amp;写一个实时绘画应用程序。的WebSockets
当前服务器只是充当中继,每个用户绘制的内容都会广播给其他用户。
这里的问题是,当新用户出现时,他们会以空白画布开始。
我有两个关于如何解决这个问题的想法,
1)事件驱动的方法 - 这是我在每次抽奖活动中坚持内存的地方。当新用户出现在会话中时。所有事件都会重建并发送给他/她。
2)服务器维护画布的副本。因此,服务器还可以呈现所有绘制事件,而不仅仅是中继绘制事件。当新用户显示时,此状态将传递给它。
任何人对这两种方法的利弊都有任何想法,或者更好,更好的方法来解决它!
答案 0 :(得分:0)
这是我自以为是的答案。 最好的方法是让服务器通过db维护数据的副本。这意味着无论何时您的客户端启动,它们总是会在新客户端启动时丢弃数据包时使用数据,并且还能够维护旧数据。当我开发出类似的概念时,我以游戏对象为例,并获得了许多客户的良好回报。即使有错误的设计理念,本地网也没有明显的滞后。希望这有帮助