1、我通过websocket连接后台,可以连接成功且可以触发wx.onSocketOpen。但是瞬间又断开,触发wx.onSocketClose
2、还有一点奇怪的是,我在wx.onSocketOpen的回调函数中,用wx.sendSocketMessage发送了一条消息,显示发送成功且发送完成,但是后台却没收到消息。不知道是不是消息还没送达websocket就关闭了?
3、我的后台是python的tornado框架。
求助:是什么原因导致websocket连接成功却又瞬间关闭?该如何解决?
框架类型 | 问题类型 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|
小程序 | Bug | websocket | 工具 | 6.6.5 | 1.9.8 |
这个问题我也遇到了,网上找问题只找到这家,结果这里没有解决方案。通过不懈努力,我找到了原因所在。不管以前的童鞋有没有解决这个问题,为了避免之后的童鞋踩坑,我把我所遇到的原因和方案说一下。
遇到这个问题的基本都是从web端复制的代码,
ws.send(data)
使用以上代码会导致开发工具发送一条广播就断开,并且服务端收不到任何消息。
小程序正确的发送方式应该是
ws.send({ data:data })
粗心导致这个问题,带来了不必要的麻烦,希望能帮到大家
我也是...刚连接成功,然后立马断开..触发了uni.onSocketOpen()的方法...然后立马就执行了uni.onSocketClose()的函数...怎么办..即使我及时的监听到失败,立马连接,但是也没有什么用啊..因为马上就断了..陷入了无限循环中..
请问解决了吗?我也正遇到同样问题。你是如何解决的?谢谢!
请问问题找到原因了吗?我今天也遇到这个现象,奇怪的是好像还跟安卓的版本有关。
服务器ws的返回加subprotocol:protocol1了吗
问题怎么久了,还没有解决方案。
貌似是ws服务端配置下ssl证书就好了
同样的问题,请问解决了吗?
是啊,只能轮询了。
我是在模拟器都不好使
我也是遇到这个问题,http轮询么?感觉都要被弄疯了
模拟器一点问题都没有
我用JS测试了一下,WS协议就没问题,所以好像是SSL证书的问题。
我放弃websocket了。改用http