收藏
回答

PC端小程序websocket无法触发onOpen事件

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug SocketTask.onOpen(function callback) 工具 PC端2.7.1.88 2.7.0

【简要说明】

使用websocket连接服务器,在开发工具及手机端均正常,但是在PC端就是无法连接。


【客户端排查】

可以看到,在开发工具中一切正常

但是在PC端中,只有wx.connectSocket(Object object)可以正常执行,其中的success事件可以触发,但是onOpen函数没有触发。


【服务器端排查】

服务端用的是Node.j的ws,通过在ws的源码中调试,发现在PC端的情况下,服务器端并未收到任何请求。工具端则一切正常。


【结论】

PC端的微信小程序的websocket大概率存在问题。

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

1 个回答

  • 是小白啊
    是小白啊
    2020-01-13

    试了下,这个片段在工具也是websocket直接连失败了

    2020-01-13
    有用
    回复 5
    • 雄
      2020-01-14
      额,这个连接的是我测试服务,因为一直没回,我以为没有处理,就先关掉了。。现在已经开启,请再试一下。有劳了。
      2020-01-14
      1
      回复
    • 是小白啊
      是小白啊
      2020-01-16回复
      这边看了下,证书有问题,检查下证书?
      2020-01-16
      回复
    • 雄
      2020-01-16回复是小白啊
      证书问题已经修复,目前看来是可以触发事件了。但是服务端的心跳消息在PC模式下依然无法接收。新的代码在此:
      https://developers.weixin.qq.com/s/FIqIjqmt7oey
      在开发工具模式下可以接收type:3的heartbeat,在PC端则没有此消息,导致PC端一直不断地断线重连。
      2020-01-16
      回复
    • 雄
      2020-01-19回复是小白啊
      上面这个问题有在处理了吧?还是要我另开一篇报错?
      2020-01-19
      回复
    • Geefib
      Geefib
      2020-03-19回复
      目前看来是可以触发事件了。触发什么事件??我这边测试onmessage事件永远不会触发
      2020-03-19
      回复
登录 后发表内容
问题标签