itIsUnbelievable
V2EX  ›  问与答

聊天系统 websocket 频繁地断开连接并重连?

  •  
  •   itIsUnbelievable · Apr 23, 2020 · 4014 views
    This topic created in 2393 days ago, the information mentioned may be changed or developed.

    有时候发送聊天信息会出现对方接收不到消息的情况,也就是报了下面这个错误。
    http://ww1.sinaimg.cn/large/007RY1RBgy1ge3igr6lakj31bi07bq3i.jpg
    我看了下面几篇回答,但还是不知道如何解决这个问题。该聊天系统是用 django 和 socketio 写的。我服务器部署时使用到的工具有 nginx,uwsgi,gevent.
    https://github.com/miguelgrinberg/Flask-SocketIO/issues/179
    https://github.com/unbit/uwsgi/issues/1533
    恳请赐教。

    Supplement 1  ·  Apr 23, 2020
    [uwsgi-websocket] "GET /socket.io/?username=18816621878&EIO=3&transport=websocket" (127.0.0.1) no PONG received in 3 seconds !!!
    <br>
    这个报错也一直存在,不知道什么原因?
    <br>
    6 replies  •  2020-04-23 17:15:46 +08:00
    itIsUnbelievable
    itIsUnbelievable
    OP
    Apr 23, 2020
    1
    11
    wowo243
    wowo243
    Apr 23, 2020 via Android❤️1
    2
    发心跳了吗,之前遇到过 nginx 关链接,需要通过心跳维持链接?
    Elephant696
    Elephant696
    Apr 23, 2020❤️1
    3
    图片打不开,盲猜是心跳问题。
    aogu555
    aogu555
    Apr 23, 2020❤️1
    4
    之前写过一次 websoket,在开发环境也是莫名其妙的断开连接,后来排查发现是 Nginx 给关掉了,用了心跳机制后解决了。
    ochatokori
    ochatokori
    Apr 23, 2020 via Android❤️1
    5
    长时间没有通信导致断开的话就加个心跳(一分钟内随便发点东西)
    不可抗力断开连接导致收不到信息的话可以加接收确认,一定时间内未确认重发
    itIsUnbelievable
    itIsUnbelievable
    OP
    Apr 23, 2020
    6
    @Elephant696 为什么我能打开呢?我觉着不像是心跳问题,这个错误有点像随机性的,并不是长时间没有通信导致的断开连接。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2996 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 05:25 · PVG 13:25 · LAX 21:25 · JFK 00:25
    ♥ Do have faith in what you're doing.