站内消息的客户端解决方案 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请要在回答技术问题时复制粘贴 AI 生成的内容
hhh798
V2EX    程序员

站内消息的客户端解决方案

  •  
  •   hhh798 2019-09-06 09:55:45 +08:00 3453 次点击
    这是一个创建于 2229 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我在做一个内容产品,现在考虑实现站内消息功能,比如别人对你的文章点赞了、评论了、或者评论被管理员删除了或者别人给你发私信了了,那么要在 APP 端即时显示消息提醒,一般是采取什么解决方案呢?客户端轮询查看有没有新消息吗?
    20 条回复    2019-09-06 18:01:35 +08:00
    TypeErrorNone
        1
    TypeErrorNone  
       2019-09-06 10:10:29 +08:00
    轮询请求,这个请求只做 app 的状态查询。
    可以针对这个接口单独部署几台服务器,支撑个几万 qps 没问题。
    salamanderMH
        2
    salamanderMH  
       2019-09-06 10:12:14 +08:00
    websocket,你看看 https://segmentfault.com/ ,它就是这么做的
    hhh798
        3
    hhh798  
    OP
       2019-09-06 10:20:20 +08:00
    @TypeErrorNone 刚开始就一台服务器支撑所有服务,感觉轮询有点傻傻的
    @salamanderMH 有没有文章啊
    kx5d62Jn1J9MjoXP
        4
    kx5d62Jn1J9MjoXP  
       2019-09-06 10:23:11 +08:00
    轮询你就等着被卸载吧
    crysislinux
        5
    crysislinux  
       2019-09-06 10:29:10 +08:00
    我在想这个东西到底该不该对匿名用户实现,websocket 连接太多了压力也不小。
    hhh798
        6
    hhh798  
    OP
       2019-09-06 10:30:31 +08:00
    @ssynhtn @crysislinux 那行业内的解决方案一般是啥呢
    xiangyuecn
        7
    xiangyuecn  
       2019-09-06 10:30:54 +08:00
    这不就是推送咩。简单的用第三方,把 ios、华为、oppovivo 的自家推送集成一下 就 ok 了。

    即时?惊呆了,app 活着就即时吧,死了就离线推
    hhh798
        8
    hhh798  
    OP
       2019-09-06 10:38:11 +08:00
    @xiangyuecn 不是 push,是站内消息
    zqwcrystal
        9
    zqwcrystal  
       2019-09-06 11:23:35 +08:00
    可以用静默推送实现,客户端监听到推送之后做请求
    mshadow
        10
    mshadow  
       2019-09-06 11:25:46 +08:00
    @nioncodotcom 也是用 push
    nvioue
        11
    nvioue  
       2019-09-06 11:38:52 +08:00 via Android
    push 加 pull 结合
    niubee1
        12
    niubee1  
       2019-09-06 11:50:12 +08:00
    现在很多浏览器都支持推送服务
    Takamine
        13
    Takamine  
       2019-09-06 12:31:35 +08:00 via Android
    轮询着被卸载+1。
    一般在几个交互逻辑里触发站内信消息推送就好吧。
    crayygy
        14
    crayygy  
       2019-09-06 12:35:11 +08:00 via iPhone
    push 收到以后做区分,前后台单独处理即可
    Raymon111111
        15
    Raymon111111  
       2019-09-06 12:37:21 +08:00
    怎么可能是轮询...

    消息队列+push
    finab
        16
    finab  
       2019-09-06 12:40:25 +08:00
    客户端做一个 Pull 操作,触发可以取请求未读消息

    然后定义一些场景,触发这些场景就去 做 Pull 操作
    例如打开 APP、重新进入 APP、进入消息页面、收到新消息推送 ... 等等

    我觉得又不是聊天,用不上实时,能保证用户能看到就行
    opengps
        17
    opengps  
       2019-09-06 13:08:49 +08:00
    所有推送类应用:要么轮训,要么 tcp 长连接
    xd314697475
        18
    xd314697475  
       2019-09-06 16:18:24 +08:00
    websocket 或者使用第三方推送,eg.极光推送
    Macolor21
        19
    Macolor21  
       2019-09-06 17:32:07 +08:00
    websocket
    laravel
        20
    laravel  
       2019-09-06 18:01:35 +08:00
    mqtt
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1320 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered bysolitude
    VERSION: 3.9.8.5 24ms UTC 17:13 PVG 01:13 LAX 10:13 JFK 13:13
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86