V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiaomajia008
V2EX  ›  Node.js

那种无刷新的提醒是什么原理?

  •  1
     
  •   xiaomajia008 · 2014-04-30 21:39:44 +08:00 · 5599 次点击
    这是一个创建于 3861 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看到豆瓣上有新消息提醒,或者回复提醒 都在没刷新的情况下通知的。

    请问是什么原理呢?
    26 条回复    2014-05-01 21:38:22 +08:00
    cloverstd
        1
    cloverstd  
       2014-04-30 21:40:29 +08:00
    yangkeao
        2
    yangkeao  
       2014-04-30 21:49:16 +08:00   ❤️ 1
    如果不是频繁的话,我想用不着socket.io,定时ajax就可以了
    yinxingren
        3
    yinxingren  
       2014-04-30 22:09:04 +08:00
    基本的就是 ajax轮询
    kshift
        4
    kshift  
       2014-04-30 22:15:46 +08:00
    pusher
    Mutoo
        5
    Mutoo  
       2014-04-30 22:26:13 +08:00
    keyword: commet, long pulling.
    dorentus
        6
    dorentus  
       2014-04-30 22:33:26 +08:00
    还有在 SPDY 可用时用 SPDY server push/server hint 的
    例如 twitter.com
    Shieffan
        7
    Shieffan  
       2014-04-30 22:38:52 +08:00 via iPhone
    websocket spdy ajax轮询
    jsonline
        8
    jsonline  
       2014-04-30 23:42:15 +08:00 via Android
    AJAX轮询是十年前的技术,你想用也行
    bsbgong
        9
    bsbgong  
       2014-05-01 00:04:20 +08:00 via iPhone
    @jsonline
    10年前Ajax还没诞生
    别太夸张
    现在还有不少是用ajax轮询的
    quake0day
        10
    quake0day  
       2014-05-01 00:15:27 +08:00
    @bsbgong 准确的说,AJAX是在1999年诞生的。04年只是没普及罢了。 http://www.evolutionoftheweb.com/
    lm902
        11
    lm902  
       2014-05-01 00:36:14 +08:00
    req = new XMLHttpRequest()
    req.open("GET, "/")
    req.send(null)
    alert(req.responseText)
    试试这段JS代码你就差不多知道了
    lincanbin
        12
    lincanbin  
       2014-05-01 00:39:30 +08:00
    @jsonline Ajax在国内开源程序普及,还是2008年的事,当时开始火起来,我也跟风做了个全Ajax的BBS……(给登陆会员用的,不影响SEO,给Spider看的有另一套模板)

    后来发现PV上不去,广告联盟也废了……
    sodatea
        13
    sodatea  
       2014-05-01 01:11:42 +08:00
    jsonline
        14
    jsonline  
       2014-05-01 01:47:28 +08:00 via Android
    @bsbgong AJAX即异步的JS和XML,差不多就是十年。
    andyhu
        15
    andyhu  
       2014-05-01 05:10:00 +08:00
    既然在node节点,还考虑什么ajax轮询,果断上socket.io啊,什么轮询之类的,速度又慢还浪费系统资源,为什么舍近求远?
    andyhu
        16
    andyhu  
       2014-05-01 05:11:01 +08:00
    另外一个方向,尝试下metero也可,开发效率很高,不过有点另类,不一定适合所有类型的项目
    teddy1004
        17
    teddy1004  
       2014-05-01 06:56:51 +08:00 via iPad
    ajax 配合 redis 来既简单,对服务器的消耗又小
    xuzhe
        18
    xuzhe  
       2014-05-01 09:08:36 +08:00
    轮询怎么了?事件机制的本质不就是轮询么。关键在于长连接吧。
    maxthonzx
        19
    maxthonzx  
       2014-05-01 09:35:33 +08:00
    同样很感兴趣 MRAK一下
    多谢各位的分享
    l9S1ZHbn4KO3vq4i
        20
    l9S1ZHbn4KO3vq4i  
       2014-05-01 10:26:40 +08:00
    说websocket的,难道你们不考虑IE6、7、8吗?
    julyclyde
        21
    julyclyde  
       2014-05-01 10:37:36 +08:00
    这么多年了我也没明白啥叫comet……
    lang1pal
        22
    lang1pal  
       2014-05-01 10:39:19 +08:00
    13楼说的非常对,不需要很即时的话就轮询,需要的话long polling, websocket应用起来还不行
    Narcissu5
        23
    Narcissu5  
       2014-05-01 16:40:29 +08:00
    不是所有场景都适合websocket的,websocket要求服务器维持状态,消耗服务器资源又不利于集群,如果消息频率不高的话基本上就是浪费资源
    andyhu
        24
    andyhu  
       2014-05-01 19:28:38 +08:00
    不是有socket.io吗?有fallback的,不知为何楼上的如此执着于ajax,速度和实时性真的很差的
    andyhu
        25
    andyhu  
       2014-05-01 19:29:49 +08:00
    这是在node.js节点好吧,难道走错了是php板块?
    fengliu222
        26
    fengliu222  
       2014-05-01 21:38:22 +08:00
    ajax轮询
    pjax
    websocket
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5683 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:03 · PVG 17:03 · LAX 01:03 · JFK 04:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.