如果您曾经使用过 google docs/google drive,他们有一个功能,即两个用户可以同时编辑一个文档,并且该文档会实时更新它,就像您打开了 MS Word 但有两个鼠标和两个键盘一样。
我对这实际上是如何工作的很感兴趣。我很确定他们不会每秒写入数据库并检查它,那么它背后的机制是什么?你能解释一下他们如何做到这一点的基本概念吗?
PS:我不知道用什么标记这个,任何建议都会很好。
如果您曾经使用过 google docs/google drive,他们有一个功能,即两个用户可以同时编辑一个文档,并且该文档会实时更新它,就像您打开了 MS Word 但有两个鼠标和两个键盘一样。
我对这实际上是如何工作的很感兴趣。我很确定他们不会每秒写入数据库并检查它,那么它背后的机制是什么?你能解释一下他们如何做到这一点的基本概念吗?
PS:我不知道用什么标记这个,任何建议都会很好。
在 .NET 中,您可以通过在服务器端创建 WCF REST 服务并在客户端创建 JSON 来实现此目的。
这是设置 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/
}
祝你好运!
每当用户对打开的文档进行更改或在其周围导航时,都会向 Google Docs 发出异步请求,通知他们这一点。GDoc 服务器然后使用其他客户端打开的 HTTP Comet 请求来通知他们该用户的操作。
参考:在维基百科上阅读彗星