WebSocket在web端和小程序端的坑!

在uni-app中使用Stomp over WebSocket遇到问题,由于uni-app不支持DOM操作,导致引入的sockJS包无法正常工作。第二次尝试使用原生uni.connectSocket(),出现WebSocket握手异常,最终发现是服务端开启的sockjs模式导致问题,关闭该模式后成功解决连接问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如题再使用webSocket的过程中遇到了一些很让人头痛的坑

关于WebSocket,Stomp over WebSocket相关的定义就不在赘述了

我先是使用的Stomp over WebSocket实现了一次消息推送。然后心血来潮想要在uni-app上面也实现一次。(uni-app是基于Vue.JS的)结果就很自然的出问题了。下面整理一下在uniapp整合WebSocket中遇到的bug

第一次尝试

因为我没有什么小程序的底子,我先想当然的像web开发一样去写。先引入stomJS和sockJS包,然后用new Socket(url)的方式去实例化SockJs,然后通过创建StompClient去连接订阅。


	connect: function(userId,txtNumber, successCallback) {
		   var socket = new SockJS(sprintf("http://%s:8081/socket", serverIp));//实例化sockJS
		   page.stompClient = Stomp.over(socket);//实例化STOMP

			var headers = {
        	    "passcode" : "343",
        	    "login": userId,
				"chatNumber":txtNumber
			};


			//stompClient.debug = null;

			page.stompClient.connect(headers, function(response) {//连接客户端
          		successCallback(response);//;连接成功时

			}, fu
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值