想象一个画布绘画工具,您可以在其中绘制和绘画,但就像聊天应用程序一样,您绘制的内容也会立即显示在您朋友的画布上。WebSockets将更完美地用于此。但是由于我的网站是由一个不支持JavaScript的网络酒店托管的,所以WebSockets不是一个选择(如果我理解正确的话)。有没有其他方法可以构建它 - 几乎保持 WebSockets 提供的效率?或者我唯一的好解决方案是将我的网站托管在让我运行 JavaScript 的服务器上(糟糕的注释.js)?
你要找的 http://tutorialzine.com/2012/08/nodejs-drawing-game/
实时共享画布数据的下一个最佳解决方案是 ajax 长轮询。简单地说,客户端向服务器发出 ajax 请求,如果服务器有新的画布数据,它会返回数据,否则它会保持 HTTP 请求打开,直到有新数据要返回。返回数据后,将重复该过程。
由于我们使用标准的HTTP请求,这不会像web-sockets那样高效,因为每个HTTP请求都带有一堆不需要的标头。
有关长轮询的更多信息 - http://en.wikipedia.org/wiki/Comet_%28programming%29
我应该补充一点,WebSockets并不是特定于NodeJs的。WebSockets是一种可以用任何语言实现的协议。有可用于使用各种不同语言的WebSockets的库,包括PHP,我认为您的服务器支持PHP。