Ant*_*ony 34 javascript real-time stackexchange
现在,在大多数流行网站中,实时更新很常见,这些网站使用量很大.
我想知道这些"实时更新"是如何工作的?我只是在寻找一般鸟类的观点.我怀疑JS不能每隔X秒调用服务器进行更新,然后将其附加到<ul>.从服务器发送的通知是否会提取更多内容?
如果有一个简单的文章如何通过演示来解释这个,那会很棒吗?
Der*_*會功夫 26
Stack Overflow使用Web套接字进行实时更新.如果您查看源代码(2012源代码),您会看到:
StackExchange.ready(function () {
StackExchange.realtime.init('ws://sockets.ny.stackexchange.com');
StackExchange.realtime.subscribeToInboxNotifications();
StackExchange.realtime.subscribeToReputationNotifications('1');
});
Run Code Online (Sandbox Code Playgroud)
但请注意,某些Opera版本不支持WebSocket.(直到Opera 10.70)
然而,Facebook似乎没有使用Web套接字,我认为他们只是使用简单的XHR和一种称为长轮询的技术,服务器保留连接直到有新信息,然后响应请求.如果打开开发人员工具,您可以看到总有一个状态为pending的请求.
确实,每隔约60秒发送一次请求.
| 归档时间: |
|
| 查看次数: |
8174 次 |
| 最近记录: |