8***@qq.com
8***@qq.com
  • 发布:2020-10-22 17:05
  • 更新:2020-10-24 17:23
  • 阅读:1135

uni.connectSocket ,ios无法打开

分类:uni-app

uni.connectSocket h5以及Android都可以成功打开,ios不行。代码一致,java代码不报错 以下是核心代码
ios14 xs max iPhone6s 都不行
webSocketInit(state) {
let that = this
// 创建一个this.socketTask对象【发送、接收、关闭socket都由这个对象操作】
let port = Vue.prototype.siteHostws
console.log(a)
var urla = "ws://" + port + "/chat/" + uni.getStorageSync('idtime') + "/" + uni.getStorageSync('shuogesha_tk')
console.log(urla)
state.socketTask = uni.connectSocket({

            url: urla,  
            success(data) {  
                console.log("websocket连接成功"+JSON.stringify(data));  
            },  

        });  
         uni.onSocketOpen(function (res) {  
             console.log('WebSocket连接已打开!');  

             });  
        uni.onSocketMessage(function (res) {  
          console.log('收到服务器内容:' + res.data);  
        });  
        // ws连接开启后登录验证  
        state.socketTask.onOpen((res) => {  

            console.log("WebSocket连接正常打开中...!");  
            that.commit('webSocketLogin')  
            //开始心跳  
            that.commit('webSocketPing')  
            // 注:只有连接正常打开中 ,才能正常收到消息  
            state.socketTask.onMessage((res) => {  
2020-10-22 17:05 负责人:无 分享
已邀请:
8***@qq.com

8***@qq.com (作者) - hellocong

如果谁可以连接 发一下 核心代码,正式发布App Store,和真机调试都无法连接

  • 1***@qq.com

    请问一下 iOS的socket无法打开怎么解决的

    2022-06-27 09:45

8***@qq.com

8***@qq.com (作者) - hellocong

结贴:经过试验,发现是我代码问题,后端传过来的token有空格,没有处理。直接拼在url上,然后Android,H5都可以识别,就苹果底层估计直接给拦截掉了。不过因为代码一致,没找自己的原因。确实浪费太多时间了,因为报错信息没有给出来,这也浪费很多时间,希望以后dcloud还是对报错更明确一点

该问题目前已经被锁定, 无法添加新回复