谷歌文档/驱动器的即时编辑如何工作?

时间:2012-08-31 04:05:34

标签: ajax

如果你曾经使用谷歌文档/谷歌驱动器,他们有一个功能,两个用户可以同时编辑文档,文档更新它,就像你打开MS Word,但有两个鼠标和两个键盘。

我对这实际上是如何运作感兴趣。我很确定他们不会写入数据库并每秒检查一次,那么它背后的机制是什么?你能解释一下他们如何做到这一点的基本概念吗?

PS:我不知道该用什么标记,任何建议都会很好。

2 个答案:

答案 0 :(得分:3)

在.NET中,您可以通过在服务器端创建WCF REST服务,在客户端创建JSON来实现此目的。

Here是设置WCF REST服务的一个很好的例子:

连接客户端很容易。以下是使用JQuery如何处理它的示例:

    function GetData()
    {            

        var URL = 'http://localhost:50164/RestServiceImpl.svc/json4'; //REPLACE this with the URL to your WCF service
        $.getJSON(URL, function (data) { ShowResult(data); });           

    }            

    function ShowResult(data)
    {
        $('#tblMyTable').dataTable(data); //USING the dataTable plugin for jquery download at: http://datatables.net/
    }
祝你好运!

答案 1 :(得分:0)

每当用户对打开的文档进行更改或在其周围导航时,都会向Google Docs发出异步请求,通知他们。然后,GDoc服务器使用其他客户端打开的HTTP Comet请求来通知他们该用户的操作。

参考:Read about Comet at Wikipedia