安装依赖
npm install -S vue-socket.io
// 安装的版本是 "vue-socket.io": "^3.0.10"
main.js 引用
import VueSocketIO from 'vue-socket.io'
Vue.use(new VueSocketIO({
// 控制台调试 console.log
debug: true,
// 连接地址 后端提供
connection: 'http://localhost:3000',
// vuex,不需要则不加
vuex: {
store,
mutationPrefix: "SOCKET_",
actionPrefix: "SOCKET_"
}
}))
页面使用
- 在 data、mounted、methods 同级加上 sockets 对象
sockets: {
connect(data) {
console.log(data)
},
toServer(data) {
this.$socket.emit('toServer', data)
},
toClient(data) {
this.msgList.push(data)
},
disconnect() {
console.log('disconnect:', '已经断开 socket 链接')
},
reconnect() {
this.$socket.emit('connect')
}
}
服务端代码 ( node.js 为例 )
'use strict'
const http = require('http')
const app = http.createServer(function (req, res) {
res.end(data)
})
const io = require('socket.io')(app)
io.on('connection', function (socket) {
socket.on('toServer', function (data) {
console.log(data)
socket.emit('toClient', '我是服务器的数据')
})
})
app.listen(3000)