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

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

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

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

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

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

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