javascript – node.js白板应用程序的客户端或服务器端HTML5画布渲染?

我在想一个小的白板web应用程序将是一个很好的方法来提高我的node.js和 JavaScript技能.我在网上看过一些,这很有意义,因为它似乎是这种堆栈的理想选择.

然而,花点时间思考,我想知道客户端和服务器在这种Web应用程序中的角色.在node-canvas磕磕绊绊,我变得更加困惑.具体而言,客户和服务器应该负责什么?

如果服务器能够呈现到画布,它是否应接受并验证来自客户端的输入,然后通过socket.io将其广播给所有其他连接的用户?这样,服务器就会保留一个master-canvas元素.一旦新用户连接,服务器就必须推出其客户端的画布 – 使其与所绘制的任何内容保持同步.

任何关于实施的指导 – 特定的或哲学的 – 都表示赞赏.

谢谢!

解决方法

我写了 http://draw.2x.io,它使用了node-canvas(我之前自己编写的node-cairo)和socket.io.

我设计应用程序的方式,客户端基本上从用户输入生成所有笔划.它们又由画布抽象处理,它支持我自己定义的操作和参数的子集.如果此图层接受绘制模块生成的任何输入,则它们也通过socket.io发送到服务器.

在服务器上,我有相同类型的画布层包装节点画布.因此,这将在那里复制来自用户的输入,最终使得可以将状态图像发送给新客户端.在此之后,笔划将 – 服务器应用程序的待定参数/上下文验证 – 发布到其他连接的客户端,这将重复与上面相同的过程.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...