用HB3.35运行到手机其中socket代码正常可用,但是正式打包socket代码运行不工作。不知是什么原因。
init () {
this.ws = uni.connectSocket({
url:${this.protocol}://${this.url}:${this.port}
,
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())
}
这是配后egg后端ws原生库通讯,不知原因所在,请高手解答。
8 个回复
小枫叶 - 外包接单加v:wlmk1234567 注明来意
开发运行时正常,打包以后不工作,是有相关权限问题么? 你可以在open中谈个窗,查看是什么问题
未来云图 (作者) - 软件编程爱好者
很感谢您!this.ws.onOpen(() => this.onOpen()) 我在这里试了,正式打包后没有回应。this.ws = uni.connectSocket({
url:${this.protocol}://${this.url}:${this.port},
succcess(res){
},
complete: (res)=> {
} 这里的success回调是正常. 但是不能和后台的 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)})
}) 正常通讯,应该说是不通讯。但在网页和真机上都正常,真是百思不得解。
未来云图 (作者) - 软件编程爱好者
不知这Hbuilder X3.3.5 编辑器里的运行到手机和 这个发行里的正式打包区别在哪里!问题是运行到手机就正常,发行正式打包就不工作。
小枫叶 - 外包接单加v:wlmk1234567 注明来意
换个手机试试,如果还不行,能否吧demo和测试地址发一下,
小枫叶 - 外包接单加v:wlmk1234567 注明来意
这个问题,一般不会出啥问题,或者你用其他工具试下你的后台是否有问题
未来云图 (作者) - 软件编程爱好者
很感谢您,我把demo上传了,如有时间请给看看。后台主要是 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())
})这些代码。
小枫叶 - 外包接单加v:wlmk1234567 注明来意
看过你的demo额,我想问,你问什么不用uniapp自带的socket呢
小枫叶 - 外包接单加v:wlmk1234567 注明来意
这是地址https://uniapp.dcloud.io/api/request/websocket