uni-app 真机测试 socketTask = uni.connectSocket 可以成功,但是socketTask.onOpen 监听不到连接成功
[内容]
后台采用node+ts+socket.io
本地demo在浏览器运行没问题
在真机测试报错如图中控制台所示
[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
HBuilderX
[IDE版本号]
2.4.2.20191115
[windows版本号]
win10
uni-app运行环境说明
nvue项目 采用uniapp渲染模式
[Android版本号]
8.1.0
[手机型号]
vivox9s
[可重现代码片段]
前端:
const msg = ‘要发送的数据’
var SocketTask1 = uni.connectSocket({
url: "ws://localhost:3000/ws",
success: function(e) {
console.log(JSON.stringify(e));
}
});
SocketTask1.onOpen(function(){
console.log("连接成功")
SocketTask1.send({
data: msg,
success(res) {
console.log('发送成功')
console.log(res)
},
fail(err) {
console.log('发送失败')
console.log(err)
}
})
});
SocketTask1.onMessage(function(){
console.log("接收数据")
});
SocketTask1.onError(function(){
console.log("连接错误")
});
SocketTask1.onClose(function(){
console.log("连接关闭")
});
后台:
import * as Koa from 'koa'
let logger = require('koa-logger')
let koaBody = require('koa-body')
const http = require('http')
let path = require('path')
const app = new Koa()
const server = http.Server(app)
server.listen(3000)
const io = require('socket.io')(server)
app.use(logger())
app.use(koaBody())
app.on('error', err => {
console.log('server error', err)
});
io.of('/ws').on('connection', (socket: any) => {
console.log('有用户连接了')
socket.on('disconnect', () => {
console.log('用户'+ socket + '断开连接')
})
socket.on('msg', (data: any) => {
console.log('获取到数据了')
console.log(data)
})
})
联系方式
Catlina1996@163.com
[QQ]
120315864