如果你曾经使用过谷歌文档/谷歌驱动器,他们有一个功能,两个用户可以同时编辑文档和文档更新它的生活,就好像你有MS Word打开,但有两个鼠标和两个键盘。谷歌文档/驱动器的即时编辑工作如何?
我很感兴趣,这实际上是如何工作的。我很确定他们不写入数据库并且每秒都会检查一次,那么它背后的机制是什么?你能解释一下他们如何做到这一点的基本概念吗? PS:我不知道该用什么标记,任何建议都不错。
如果你曾经使用过谷歌文档/谷歌驱动器,他们有一个功能,两个用户可以同时编辑文档和文档更新它的生活,就好像你有MS Word打开,但有两个鼠标和两个键盘。谷歌文档/驱动器的即时编辑工作如何?
我很感兴趣,这实际上是如何工作的。我很确定他们不写入数据库并且每秒都会检查一次,那么它背后的机制是什么?你能解释一下他们如何做到这一点的基本概念吗? PS:我不知道该用什么标记,任何建议都不错。
每当用户对打开的文档进行更改或导航时,都会向Google文档发出异步请求,通知他们这一点。然后,GDoc服务器使用其他客户端打开的HTTP Comet请求通知他们该用户的操作。
在.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/
}
祝您好运!