2012-07-15 61 views
0

我想尝试创建一个画布是多个用户可以键入和编辑头脑风暴等我想到PHP作为后端。它使用什么技术?例如,让我们说它的 纯文本。我们如何更新google wave(b4)和google doc中的文字?技术behing创建一个像异步Web应用程序的谷歌波

它只是使用websocket(或js pooling)和更新文本文件?或者有没有更好的逻辑方法来解决这个问题?

回答

1

好吧,它不像布拉德的回答中所说的那么简单,但他有一部分是正确的。你今天肯定会需要WebSockets来实现它。但从逻辑上讲,创建协作环境并不那么简单。存在诸如将每个用户的广播改变到查看同一文档的每个其他用户的问题。那么你将不得不确保每个用户看到完全一样的东西,不管谁改变了什么和什么时候改变。当多个用户协作处理同一文档时,这会变得很困难。在合并彼此的变化时可能会有冲突。

就PHP而言,语言并不是真正的问题。它如何处理上述问题。

Google在Google Wave上发布了其研究和工程细节(我放弃该项目后我猜测)。这个链接可能对您有所帮助:http://www.waveprotocol.org/whitepapers/

+1

我说Socket.IO的沟通很简单...并不是说构建他的整个应用程序很容易。 :-毫无疑问,这是相当的项目。 – Brad 2012-07-15 21:09:28

1

Websockets是这样做的方式。但是,它们很难在PHP中实现,并且迄今为止还没有得到许多浏览器的支持。您可以使用PHP轻松地对AJAX请求进行长时间轮询,但这可能会浪费资源。

这可能不是你正在寻找的,但我建议改变你的服务器端技术。您可以使用Node.jsSocket.IO轻松使用Websockets(或者对不支持它们的浏览器进行无缝模拟)。这将为将数据推送给用户提供最快捷的方法。