hel*_*llo 2 php ajax jquery facebook real-time
facebook如何处理他们的"实时"数据?如果您正在查看自己的活动Feed并且用户喜欢某些内容,您可以立即看到文字更改,说明该用户喜欢它,或者当您收到通知后,您会在页面上看到红色通知标记,而不会刷新.
我知道这段代码可以在不刷新的情况下推送数据:
$.post('ajax/test.html', function(data) {
$('.result').html(data);
});
Run Code Online (Sandbox Code Playgroud)
但有人可以解释如何推送实时数据,以便其他用户可以在他们的页面上看到更新而无需刷新.
谢谢
这可以使用各种技术来实现,这些技术有许多名称:长轮询,服务器发送事件,Comet,WebSockets等.
基本的想法是这样的:
爱丽丝打开Facebook.她的浏览器发出更新请求($.get例如),但如果没有新的更新并且请求仍处于"等待"状态,则服务器不响应.
鲍勃打开Facebook.他决定评论爱丽丝的墙.他的浏览器将他的评论发布到服务器($.post).
Alice的浏览器终于得到了对这个长时间挂起请求的响应,并在通知区域中愉快地绘制了一个红色的"1".它还会立即打开另一个更新请求(不要错过任何更新请求).
爱丽丝看到鲍勃的评论,立即发布.
所描述的技术称为"长轮询",它最初由谷歌在Gmail中引入.
| 归档时间: |
|
| 查看次数: |
913 次 |
| 最近记录: |