收藏
回答

websocket连接成功后,瞬间断开

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug websocket 工具 6.6.5 1.9.8

1、我通过websocket连接后台,可以连接成功且可以触发wx.onSocketOpen。但是瞬间又断开,触发wx.onSocketClose

2、还有一点奇怪的是,我在wx.onSocketOpen的回调函数中,用wx.sendSocketMessage发送了一条消息,显示发送成功且发送完成,但是后台却没收到消息。不知道是不是消息还没送达websocket就关闭了?

3、我的后台是python的tornado框架。


求助:是什么原因导致websocket连接成功却又瞬间关闭?该如何解决?



回答关注问题邀请回答
收藏

10 个回答

  • 进
    2020-04-11

    这个问题我也遇到了,网上找问题只找到这家,结果这里没有解决方案。通过不懈努力,我找到了原因所在。不管以前的童鞋有没有解决这个问题,为了避免之后的童鞋踩坑,我把我所遇到的原因和方案说一下。


    遇到这个问题的基本都是从web端复制的代码,

    ws.send(data)
    

    使用以上代码会导致开发工具发送一条广播就断开,并且服务端收不到任何消息。

    小程序正确的发送方式应该是

    ws.send({
      data:data
     })
    

    粗心导致这个问题,带来了不必要的麻烦,希望能帮到大家

    2020-04-11
    有用 1
    回复 5
    • SUNRISE
      SUNRISE
      2020-08-29
      没有触发过ws.send,直接是一连上马上就会断开的情况遇到过吗?
      2020-08-29
      回复
    • 虾虾吖
      虾虾吖
      2020-09-07回复SUNRISE
      2020-09-07
      回复
    • 独角戏
      独角戏
      2020-09-08回复虾虾吖
      请问一下解决了吗,我这边也是这个情况.
      2020-09-08
      回复
    • 那谁,站住
      那谁,站住
      2021-04-15
      同样的问题,请问你们是怎么解决的
      2021-04-15
      回复
    • 你猜我是谁
      你猜我是谁
      2023-07-28
      这个问题是什么原因导致的,有结论么
      2023-07-28
      回复
  • 2019-05-07

    请问解决了吗?我也正遇到同样问题。你是如何解决的?谢谢!

    2019-05-07
    有用 1
    回复
  • 红黑
    红黑
    2018-07-17

    请问问题找到原因了吗?我今天也遇到这个现象,奇怪的是好像还跟安卓的版本有关。

    2018-07-17
    有用 1
    回复
  • Turing
    Turing
    2018-05-23

    服务器ws的返回加subprotocol:protocol1了吗

    2018-05-23
    有用 1
    回复 1
    • 馄饨骑士
      馄饨骑士
      2022-09-14
      特意登录账号赞下,小程序的发起端用了protocol1,服务端也要设定:protocol1,否则服小程序一连秒断没有任何有效提示,就一个连接xxxxfail。出现我用原生程序做客户端正常,h5的js客户端也正常,唯独小程序这里有问题。
      2022-09-14
      回复
  • 青山白云🐴~互联网软件开发
    青山白云🐴~互联网软件开发
    2023-04-02

    貌似是ws服务端配置下ssl证书就好了

    2023-04-02
    有用
    回复
  • 。;
    。;
    2022-12-27

    同样的问题,请问解决了吗?

    2022-12-27
    有用
    回复
  • 浩浩于
    浩浩于
    2018-04-12

    是啊,只能轮询了。

    我是在模拟器都不好使

    2018-04-12
    有用
    回复
  • 东子
    东子
    2018-04-08

    我也是遇到这个问题,http轮询么?感觉都要被弄疯了

    模拟器一点问题都没有

    2018-04-08
    有用
    回复
  • 浩浩于
    浩浩于
    2018-04-08

    我用JS测试了一下,WS协议就没问题,所以好像是SSL证书的问题。

    我放弃websocket了。改用http

    2018-04-08
    有用
    回复
  • 东子
    东子
    2018-04-08

    同样的问题,怎么解决

    2018-04-08
    有用
    回复
登录 后发表内容