V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yezheyu
V2EX  ›  程序员

请教下后端怎么给前端发消息?

  •  1
     
  •   yezheyu · 2021-02-09 12:47:31 +08:00 · 4838 次点击
    这是一个创建于 1384 天前的主题,其中的信息可能已经有所发展或是发生改变。

    小白,自学 Python 有些东西半懂不懂。

    情况是这样的,假设用户在淘宝购买商品,用户下单后。 卖家的后台页面是如何实时收到的通知消息然后刷新页面?

    是卖家的前端页面一直轮询吗? 还是基于类似 websocket 的技术实现吗?

    有老哥给解释下吗? 在搜索引擎上实在不知道搜什么关键字…………

    微信二维码扫码登录功能也是类似原理吗?

    26 条回复    2021-02-16 11:48:16 +08:00
    superrichman
        1
    superrichman  
       2021-02-09 12:50:28 +08:00 via iPhone
    走 ws
    wxsm
        2
    wxsm  
       2021-02-09 12:52:47 +08:00 via iPhone
    轮训或 ws,两种做法都有,看场景
    Aoang
        3
    Aoang  
       2021-02-09 12:53:39 +08:00 via Android
    ws 或者 http2,一般都是用 ws 保持兼容性。
    kop1989
        4
    kop1989  
       2021-02-09 12:53:56 +08:00
    一般情况下是轮询+手动刷新按钮(因为不是强时效性。)
    如果像是 web 阿里旺旺这种,是长轮询( long polling ),或 WebSocket (目前偏少)
    Rache1
        5
    Rache1  
       2021-02-09 12:55:22 +08:00   ❤️ 1
    看成本和环境。低成本的实现就是轮询,没必要硬上 ws
    cyberpoint
        7
    cyberpoint  
       2021-02-09 13:26:11 +08:00
    1. 长轮询
    2. 长连接
    3. websocket
    4. webwork
    tiedan
        8
    tiedan  
       2021-02-09 13:30:04 +08:00
    轮询就行
    rodrick
        9
    rodrick  
       2021-02-09 13:30:57 +08:00
    其实很多聊天软件用的还是长轮询,现在的话 ws 也可,http2 的服务器推送没用过
    uselessVisitor
        10
    uselessVisitor  
       2021-02-09 13:35:33 +08:00
    轮询就行,不用强行 ws
    gdrk
        11
    gdrk  
       2021-02-09 14:48:54 +08:00
    大部分都是轮询,简单低成本
    tonysmark
        12
    tonysmark  
       2021-02-09 15:34:49 +08:00
    wss 最好吧
    zhuweiyou
        13
    zhuweiyou  
       2021-02-09 15:56:17 +08:00
    你说的场景 轮询就够了 没必要上 ws
    xkeyideal
        14
    xkeyideal  
       2021-02-09 16:11:52 +08:00
    sse 你们也应该提一下的吧
    Rache1
        15
    Rache1  
       2021-02-09 16:57:43 +08:00
    @xkeyideal sse 操作起来还不如 ws,服务端照样要按照 ws 的方式实现,相比 ws 少了一个握手。
    好处就是 sse 浏览器实现了断线重连,减少了客户端的事儿了。
    ZxykM
        16
    ZxykM  
       2021-02-09 20:28:05 +08:00
    B 站二维码登录是轮训
    dizun
        17
    dizun  
       2021-02-10 08:38:03 +08:00
    楼上面说的就很合理,轮询就行,省时省力省资源。
    xuanbg
        18
    xuanbg  
       2021-02-10 09:11:56 +08:00
    基本上是轮询,特殊需要才会上 ws
    draguo
        19
    draguo  
       2021-02-10 09:28:23 +08:00
    轮询,基本上现在看到的,以为是 ws 的都是轮询实现的
    Unitent
        20
    Unitent  
       2021-02-10 11:47:39 +08:00
    @DOLLOR 看了一下 完全看不到
    zachlhb
        21
    zachlhb  
       2021-02-10 11:50:00 +08:00 via iPhone
    消息通知,有那种前后端合作的消息通知的,实现起来更简单
    love2020
        22
    love2020  
       2021-02-10 16:58:31 +08:00
    消息队列,推送系统,推送消息到卖家系统。
    guanhui07
        23
    guanhui07  
       2021-02-10 18:25:38 +08:00
    websocket
    xrr2016
        24
    xrr2016  
       2021-02-10 19:28:48 +08:00
    qiuxuqin
        25
    qiuxuqin  
       2021-02-11 13:18:21 +08:00
    最近我做了相似的功能,有通知和系统公告,都是用短轮询实现的。前端每隔 30s 或者 60s 发送一次请求,后端返回数据。前端页面可以向上滚动马上刷新数据,也可以下拉加载更多。至于 websocket,我自己是想用这个实现的,但是后端他们说 websocket 维护麻烦。
    zjsxwc
        26
    zjsxwc  
       2021-02-16 11:48:16 +08:00 via Android
    http 长链接就行,没错就是 http 长链接,2333
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   928 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:55 · PVG 03:55 · LAX 11:55 · JFK 14:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.