node.js 开启websocket Android 连接失败

我Android端用的okhttp连接的,有没有人试过用Android连node.js开的websocket?如果我是直接在浏览器用JS访问的话就能成功连接,理论上来说开启的websocket链接没有问题(url没填错),难道是Android还要和服务器这边做个适配?

阅读 2.7k
1 个回答
  1. 我以为是 http 链接被禁了,但后面我又加入了

    <network-security-config>
     <base-config cleartextTrafficPermitted="true" />
    </network-security-config>
  2. 后面还是不行,我又怀疑是不是 wss:// 才行,后来还不行
  3. 最后我以为是 okhttp 版本不对,对 websocket 支持不好,换了个新版本,结果还不行

最后才找出来问题所在,是传入的链接问题,我竟然传入了 ws://127.0.0.1:8181,这导致了我的 android 虚拟机总是连接到虚拟机的 localhost:port,难怪会不成功!

解决方案是将链接修改成 ws://10.0.2.2:8181,这样就可以在 Android Studio 上的虚拟机连接你的电脑上开的接口(API)了!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题