以前写vue页面的时候写过聊天室,这次用uniapp开发小程序,用到了websocket,记录下心得体会
前言:
后台使用了nodejs的express-ws模块,分享一篇介绍express-ws非常好的帖子https://www.jianshu.com/p/136da96d3d48
对于前端人员,不用管后台socket如何实现的,用的什么模块,因为socket只是个协议
在uniapp中,也不用纠结用框架自带的websocket的api,还是引入socket.io.js。
既然框架已经给我们集成这个功能了,直接用就对了,非常方便
首先在app.vue中建立连接
注:在任意组件下建立socket连接均可,框架提供的api是全局的
onShow: function() {
console.log('App Show')
uni.connectSocket({
url: 'wss://localhost', //仅为示例,并非真实接口地址。
success: () => {
console.log('socket success');
},
fail: (err) => {
console.log(err)
},
complete: () => {}
});
},
onHide: function() {
console.log('App Hide')
uni.closeSocket({
code:1000,
reason:'App Hide'
})
}
建立连接后,在任意组件中调用相关api即可,实在是简单得不能简单了
以下是测试结果
ps:也可以用uni.connectSocket() 接口创建SocketTask 对象,在main.js中全局注册,优点是使用更方便,缺点是关闭连接后,需在代码中实现重新打开连接!
10 个评论
要回复文章请先登录或注册
w***@wicos.cn
佚名9527
三十九级台阶
佚名9527
jonychen1
2***@qq.com
1***@qq.com
2***@qq.com
1***@qq.com
jonychen1