uni-app使用websocket

这篇具有很好参考价值的文章主要介绍了uni-app使用websocket。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

<template>
	<view class="websockets">
		<button type="primary" @tap="clickRequest">点击发送请求</button>
		<button type="primary" @tap="leave">离开页面</button>
	</view>
</template>
 
<script>
	export default {
		onLoad() {
			// 进入这个页面的时候创建websocket连接【整个页面随时使用】
			this.connectSocketInit();
		},
		data() {
			return {
				socketTask: null,
				// 确保websocket是打开状态
				is_open_socket: false
			}
		},
		// 关闭websocket【必须在实例销毁之前关闭,否则会是underfined错误】
		beforeDestroy() {
			this.closeSocket();
		},
		methods: {
			// 进入这个页面的时候创建websocket连接【整个页面随时使用】
			connectSocketInit() {
				// 创建一个this.socketTask对象【发送、接收、关闭socket都由这个对象操作】
				this.socketTask = uni.connectSocket({
					// 【非常重要】必须确保你的服务器是成功的,如果是手机测试千万别使用ws://127.0.0.1:9099【特别容易犯的错误】
					url: "ws://119.28.180.110:9099/echo",
					success(data) {
						console.log("websocket连接成功");
					},
				});
 
				// 消息的发送和接收必须在正常连接打开中,才能发送或接收【否则会失败】
				this.socketTask.onOpen((res) => {
					console.log("WebSocket连接正常打开中...!");
					this.is_open_socket = true;
					// 注:只有连接正常打开中 ,才能正常成功发送消息
					this.socketTask.send({
						data: "uni-app发送一条消息",
						async success() {
							console.log("消息发送成功");
						},
					});
					// 注:只有连接正常打开中 ,才能正常收到消息
					this.socketTask.onMessage((res) => {
						console.log("收到服务器内容:" + res.data);
					});
				})
				// 这里仅是事件监听【如果socket关闭了会执行】
				this.socketTask.onClose(() => {
					console.log("已经被关闭了")
				})
			},
			// 关闭websocket【离开这个页面的时候执行关闭】
			closeSocket() {
				this.socketTask.close({
					success(res) {
						this.is_open_socket = false;
						console.log("关闭成功", res)
					},
					fail(err) {
						console.log("关闭失败", err)
					}
				})
			},
			clickRequest() {
				if (this.is_open_socket) {
					// websocket的服务器的原理是:发送一次消息,同时返回一组数据【否则服务器会进去死循环崩溃】
					this.socketTask.send({
						data: "请求一次发送一次message",
						async success() {
							console.log("消息发送成功");
						},
					});
				}
			},
			leave() {
				this.$uniReLaunch("/pages/tabbar/wallet/wallet")
			}
		}
	}
</script>

原文链接:https://blog.csdn.net/weixin_43343144/article/details/92998467文章来源地址https://www.toymoban.com/news/detail-723926.html

到了这里,关于uni-app使用websocket的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uni-app 新增 微信小程序之新版隐私协议

    一、manifest.json中配置 二、编写封装后的组件 三、页面引入试用

    2024年02月07日
    浏览(51)
  • 【UniApp】-uni-app-网络请求

    经过上个章节的介绍,大家可以了解到 uni-app-pinia存储数据的基本使用方法 那本章节来给大家介绍一下 uni-app-网络请求 的基本使用方法 首先我们打开官方文档,我先带着大家看一下官方文档的介绍:https://uniapp.dcloud.net.cn/api/request/request.html 从官方文档中我们可以看到,可以

    2024年02月04日
    浏览(53)
  • uni-app 应对微信小程序最新隐私协议接口要求的处理方法

    https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncementannounce_id=11691660367cfUvXversion=lang=zh_CNtoken= vue2版本 vue3版本 vue2版本 vue3版本(建议点击事件触发)  

    2024年02月07日
    浏览(67)
  • uni-app 之 uni.request 网络请求API接口

    uni-app 之 uni.request 网络请求API接口 image.png

    2024年02月09日
    浏览(50)
  • 小程序-uni-app:hbuildx uni-app 安装 uni-icons 及使用

    一、官方文档找到uni-icons uni-app官网 二、下载插件 三、点击“打开HBuildX” 四、选择要安装的项目 五、勾选要安装的插件 六、安装后,项目插件目录 根目录uni_modules目录下增加uni-icons、uni-scss 七、引入组件,使用组件 八、经过测试,成功。 参考链接 http://lihuaxi.xjx100.cn/new

    2024年02月12日
    浏览(58)
  • 【uni-app】uni-app中scroll-into-view的使用

    在使用的时候需要注意: 需要给sroll-view组件设置宽或者高(根据横纵情况) white-space:nowrap 这行代码让组件能够滑动(之前自己写的时候踩的坑) 使用 scroll-into-view ,需要开启动画效果,并且动态绑定的值必须是字符串 并且子组件的上绑定一个id值用于定位 以上就是今天要讲的内容,

    2024年02月11日
    浏览(49)
  • uni-app的h5/小程序/app 网络请求,解决本地环境和生产环境网络请求问题

    本篇的重点在于解决h5/小程序/app这三端在本地和生产环境的网络请求问题 全部代码贴在了全文最后 首先要理解这三个端的特性,h5会有跨域问题需要反向代理,小程序和app不需要反向代理,同时小程序还得用https域名。 一般会跨域需要反向代理。所以要在mainifest.json设置反向

    2024年02月10日
    浏览(56)
  • #微信小程序# #uni-app# 实现提交表单或登录,需勾选同意协议,才可以进行下一步

    一、需求: 实现提交表单或登录,需勾选同意协议,才可以进行下一步 二、步骤/思路: (1)使用uni-app的组件checkbox-group排出勾选协议版面   (2)设置一个多选框的数组,绑定在u-checkbox-group里, 使用这个数组来进行判断是否勾选了用户协议 (3)设置点击事件toBngling(),写

    2024年02月12日
    浏览(56)
  • uni-app开发微信小程序,9月15日前需添加隐私协议弹窗解决方案

    弹窗 代码插件已集成,即插即用, 五分钟集成进项目,免费下载,欢迎大家交流  微信小程序用户隐私保护协议弹窗插件下载 8 月 10 日微信官方发布公告 关于小程序隐私保护指引设置的公告,从 2023 年 9 月 15 日起必须用户点击同意隐私保护政策并同步给微信之后,开发者才可以

    2024年02月09日
    浏览(57)
  • Uni-app组件使用

    组件是 视图层的基本组成单元 。是一个单独且 可复用的功能模块的封装 。 组件名称是由尖括号包裹的,可以看成一个语义化标签,是有开始标签和结束标签的。 如下举个简单的例子: uni-card  //这是开始标签 text 这是一个基础卡片示例,内容较少,此示例展示了一个没有任

    2024年02月09日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包