<script>
var ws = new WebSocket("wss://xxxx.xxxxx.cn:8080");
export default {
mounted() {
this.socket();
},
methods: {
socket() {
/**
* 与GatewayWorker建立websocket连接,域名和端口改为你实际的域名端口,
* 其中端口为Gateway端口,即start_gateway.php指定的端口。
* start_gateway.php 中需要指定websocket协议,像这样
* $gateway = new Gateway(websocket://0.0.0.0:7272);
*/
// var ws = new WebSocket("wss://"+document.domain+":8282");
//这个是在线地址不用改
ws.onopen = function() {
// Web Socket 已连接上,使用 send() 方法发送数据
// member_id 这个是用户的ID。需要进页面获取到,然后发送到服务端绑定
var data = `{"type":"member_bind","member_id":${_this.userID}}`;
// var data = '{"type":"add_timer","group_id":1,"pack_type":2}';
ws.send(data);
};
// 服务端主动推送消息时会触发这里的onmessage
ws.onmessage = function(e) {
// json数据转换成js对象
var data = JSON.parse(e.data);
var type = data.type || "";
switch (type) {
case "member_bind":
break;
//这里是客服回信息的接受消息的地方
case "send_to_member":
console.log(data);
break;
default:
console.log(e.data);
}
};
var t2 = window.setInterval(function() {
// var content =
// parseInt(Math.random() * 5 + 1, 10) * Math.random() * Math.random();
//发送消息给客服 content 是内容
ws.send('{"type":"member_send_message","content":"'content + '"}'
//每十秒内必须发送一次ping
ws.send('{"type":"ping"}');
}, 9000);
ws.onclose = function() {
console.log("链接关闭");
};
}
}
};
</script>
VUE WebSocket
最新推荐文章于 2024-08-27 10:52:38 发布