<script>
export default {
data () {
return {
ws2: null, // 人脸抓拍websocket
count2: 0,
}
},
methods: {
// 人脸WebSocket数据
initFaceData () {
if (window.WebSocket) {
let vm = this
let url = ''
if (process.env.NODE_ENV === 'development') {
url = 'ws://10.194.106.18:8090/xhvisual/websocket/face' // 开发环境url
} else {
url = 'wss://' + top.window.location.hostname + '/xhvisual/websocket/face' // 测试环境url
}
console.warn(url)
vm.ws2 = new WebSocket(url)
// 启动webSocket
vm.ws2.onopen = () => {
// ws已经连接上 可以发送消息
console.log('onopenFace') // 前端发送消息给后台
vm.ws2.send('')
}
// 接收webSocket信息
vm.ws2.onmessage = (evt) => {
if (evt.data) {
if (evt.data == '连接成功') return
console.warn(evt.data) // 接收后台传递过来的消息
}
}
vm.ws2.onerror = (evt) => {
vm.$message.error('websocket连接失败')
// window.clearTimeout(vm.timer);
}
vm.ws2.onclose = () => {
setTimeout(() => {
try {
vm.initFaceData()
vm.count2++
} catch (err) {
vm.count2 < 200 && vm.initFaceData()
}
}, 2000)
}
} else {
vm.$message.error('您的浏览器不支持Websocket')
}
}
},
mounted () {
this.initFaceData()
}
}
</script>
Vue——实现websocket消息传送
猜你喜欢
转载自blog.csdn.net/weixin_42164004/article/details/110519454
今日推荐
周排行