webSocket【移动端(uniapp)和PC端(vue2+elementUI)】开箱即用

webSocket【移动端(uniapp)和PC端(vue2+elementUI)】开箱即用

一、移动端(uniapp)

下面代码复制后,需要改成vue语法即可使用,切记再离开页面是清除定时器,并且

let socketTask = null;
//建立ws链接方法
function initSocket(){
	socketTask=uni.connectSocket({
		url: `后端给的ws接口地址`, // 替换为你的WebSocket服务器地址
			success: () => {
				console.log('WebSocket连接成功');
				//首次链接成功给服务器发送消息
				sendMessageToServer()
				// 监听消息接收
				socketTask.onMessage((res) => {
					console.log('收到服务器消息:', res);
				});
				// 可以添加更多事件监听,如onOpen, onError, onClose等
			},
			fail: (err) => {
				console.error('WebSocket连接失败', err);
			},
		});
};
//每隔2分钟给服务器发送消息,保证服务正常
 setInterval(() => {
				sendMessageToServer();
}, 120000);
//发送消息方法
function sendMessageToServer() {
	if (this.socketTask && this.socketTask.readyState === 1) {
		this.socketTask.send({
			data: '每隔2分钟自动发送的消息',
			success: () => {
				console.log('消息发送成功');
			},
			fail: (err) => {
				console.error('消息发送失败', err);
			},
		});
	} else {
		// console.warn('WebSocket连接未建立,无法发送消息');
	}
};
//关闭ws链接方法
function closeWebSocketConnection() {
	if (socketTask) {
		socketTask.close({
			success: () => {
				console.log('WebSocket连接已关闭');
			},
			fail: (err) => {
				console.error('关闭WebSocket连接失败', err);
			},
		});
	}
}

一、PC端(vue2+elementUI)

PC端需要定时发送消息,离开页面停止ws链接可以参照移动端的方法去实现

let socket=null
setupWebSocket()
function setupWebSocket() {
    socket = new WebSocket("ws://127.0.0.1:8443/v1"); // 替换成你自己的WebSocket地址
     socket.onopen = () => {
       console.log("WebSocket已连接");
     };
     socket.onmessage = (event) => {
       // 接收到消息后的操作
       console.log("接收到消息后", event);
     };
     socket.onclose = () => {
       console.log("WebSocket closed");
       // 重新连接的逻辑
     };
   },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋石兰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值