• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hhh798
V2EX  ›  程序员

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

  •  
  •   hhh798 · Sep 6, 2019 · 3809 views
    This topic created in 2480 days ago, the information mentioned may be changed or developed.
    我在做一个内容产品,现在考虑实现站内消息功能,比如别人对你的文章点赞了、评论了、或者评论被管理员删除了或者别人给你发私信了了,那么要在 APP 端即时显示消息提醒,一般是采取什么解决方案呢?客户端轮询查看有没有新消息吗?
    20 replies    2019-09-06 18:01:35 +08:00
    TypeErrorNone
        1
    TypeErrorNone  
       Sep 6, 2019
    轮询请求,这个请求只做 app 的状态查询。
    可以针对这个接口单独部署几台服务器,支撑个几万 qps 没问题。
    salamanderMH
        2
    salamanderMH  
       Sep 6, 2019
    websocket,你看看 https://segmentfault.com/ ,它就是这么做的
    hhh798
        3
    hhh798  
    OP
       Sep 6, 2019
    @TypeErrorNone 刚开始就一台服务器支撑所有服务,感觉轮询有点傻傻的
    @salamanderMH 有没有文章啊
    kx5d62Jn1J9MjoXP
        4
    kx5d62Jn1J9MjoXP  
       Sep 6, 2019
    轮询你就等着被卸载吧
    crysislinux
        5
    crysislinux  
       Sep 6, 2019
    我在想这个东西到底该不该对匿名用户实现,websocket 连接太多了压力也不小。
    hhh798
        6
    hhh798  
    OP
       Sep 6, 2019
    @ssynhtn @crysislinux 那行业内的解决方案一般是啥呢
    xiangyuecn
        7
    xiangyuecn  
       Sep 6, 2019
    这不就是推送咩。简单的用第三方,把 ios、华为、oppovivo 的自家推送集成一下 就 ok 了。

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

    消息队列+push
    finab
        16
    finab  
       Sep 6, 2019
    客户端做一个 Pull 操作,触发可以取请求未读消息

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

    我觉得又不是聊天,用不上实时,能保证用户能看到就行
    opengps
        17
    opengps  
       Sep 6, 2019
    所有推送类应用:要么轮训,要么 tcp 长连接
    xd314697475
        18
    xd314697475  
       Sep 6, 2019
    websocket 或者使用第三方推送,eg.极光推送
    Macolor21
        19
    Macolor21  
       Sep 6, 2019
    websocket
    laravel
        20
    laravel  
       Sep 6, 2019
    mqtt
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2812 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 03:35 · PVG 11:35 · LAX 20:35 · JFK 23:35
    ♥ Do have faith in what you're doing.