0

我正在尝试创建一个服务,允许超过 2 个用户实时并发修改画布。我一直在探索最好的方法背后的文献,并没有发现很多问题。

到目前为止,我已经找到了使用canvas.toDataUrl(). 这里的问题是,当只有很少的像素发生变化时(也就是说,当另一个用户修改它时)重绘整个画布似乎相当低效。

我真的不知道从哪里开始这个特定的项目,并希望得到一些帮助。

不会超过 40 个用户同时查看画布。

4

1 回答 1

1

取决于用户绘制的内容和方式。

  1. 如果他们只能绘制/操作一组预定义的基元,例如软件框图,那么您可以只发送描述这些基元及其位置的 JSON 序列化数据列表。

  2. 如果绘图只是像http://intridea.github.io/sketch.js/这样的像素位图,那么您可以在位图中进行绘图并在 mouseup 上广播该位图序列化为 PNG 左右。

  3. 要将其发布给所有用户,我会做一些基于 socket.io 的事情。例如,Node.js 有很多关于如何进行基于 socket.io 的聊天的示例。聊天在概念上非常接近您想要实现的目标。

于 2013-11-08T03:32:18.603 回答