我想尝试创建一个画布,多个用户可以键入和编辑头脑风暴等。我在考虑将php作为后端。它使用的技术是什么?例如,让我们说吧 纯文本。我们如何更新google wave(b4)和google doc中的文字?
它只是使用websocket(或js pooling)并更新文本文件吗?或者有没有 更好的逻辑方法来解决这个问题?
答案 0 :(得分:1)
Websockets是实现这一目标的方法。但是,它们很难在PHP中实现,并且尚未被许多浏览器支持。您可以使用PHP轻松地对AJAX请求进行长时间轮询,但这可能会浪费资源。
这可能不是您想要的,但我建议您更改服务器端技术。您可以使用Node.js和Socket.IO轻松使用Websockets(或者为不支持它们的浏览器无缝模拟它们)。这将为将数据推送给用户提供最快捷的方法。
答案 1 :(得分:1)
嗯,这并不像布拉德的答案那么容易,但他是部分正确的。您今天肯定需要WebSockets来实现它。但从逻辑上讲,创建协作环境并不是那么简单。存在诸如每个用户向观看同一文档的每个其他用户广播改变的问题。然后你必须确保每个用户都能看到完全相同的东西,无论谁改变什么和什么时候。当多个用户协同处理同一文档时,这变得困难。合并彼此的变化时可能会发生冲突。
就PHP而言,语言并不是真正的问题。它是如何处理上述问题的。
Google在Google Wave上发布了研究和工程详情(我想在放弃该项目后)。此链接可能对您有所帮助:http://www.waveprotocol.org/whitepapers/