this.ws = uni.connectSocket({
url:ws://${this.url}:${this.port}
,
success(){
console.log('conn ok')
},
complete: (res)=> {
}
}) 这里的success()在正式打包和真机调试都是正常的
- 发布:2022-02-15 09:29
- 更新:2022-02-15 12:35
- 阅读:473
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: windows 7
HBuilderX类型: 正式
HBuilderX版本号: 3.3.11
手机系统: Android
手机系统版本号: Android 9.0
手机厂商: vivo
手机机型: v1801A0
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
console.log('connection^^^^^^^') 这是要预期出现的结果
console.log('connection^^^^^^^') 这是要预期出现的结果
实际结果:
正式打包无反应输出。
正式打包无反应输出。
bug描述:
init () {
const that = this
this.ws = uni.connectSocket({
url:ws://${this.url}:${this.port}
,
success(){
console.log('conn ok')
},
complete: (res)=> {
}
})
this.ws.onOpen(() => this.onOpen())
//uni.onSocketOpen((res) => this.onOpen());
this.ws.onMessage((msg) => this.onMessage(msg))
this.ws.onClose(() => this.onClose())
this.ws.onError(() => this.onError())
} 这是前端代码,在运行到chrome 或是运行到真机正常工作,但是正式打包后不工作。
下边一部分是后端代码,采用ws库。
init () {
this.wss = new ws.Server({port:this.port,...this.options})
const that = this
// 连接信息
this.wss.on('connection', (ws) => {
console.log('connection^^^^^^^')
ws.isAlive = true
ws.on('message', (msg)=>{
that.onMessage(ws,msg.toString())
})
ws.on('close', () =>{that.onClose(ws)})
})
this.wss.on('error',(err)=>{
console.log(err)
})
this.heartbeat()
}
3 个回复
BoredApe - 有问题就会有答案。
请上传一个能重现问题的测试工程
未来云图 (作者) - 软件编程爱好者
您好,就是上传到云打包生成apk。 原理是这样的就是一打开软件,就是初始化websocket,这样就和egg后端建立通讯联系,后端this.wss.on('connection', (ws) => {
console.log('connection^^^^^^^') 侦听到connection就会输出console.log('connection^^^^^^^') ,但是正式打包后就不能通讯,我用Hello打包也不工作。不知这发行正式打包和发行真机调试区别在哪里,百思不得解。
未来云图 (作者) - 软件编程爱好者
哪位大神给指点一下!!!