当前位置: 首页 > news >正文

阿里建站官网吉林省建设厅网站市政建设

阿里建站官网,吉林省建设厅网站市政建设,一般通过逸民,手机网络游戏今天不睡,熬夜赶了个WebSocket 二次封装,也对这几天文章摸鱼感到抱歉,所以我出了一个注释非常非常全的代码 思路如下 首先#xff0c;需要通过调用connect方法来建立WebSocket连接。当连接成功时#xff0c;会调用我提供的回调函数#xff0c;并将连接成功的消息帧作为参数…今天不睡,熬夜赶了个WebSocket 二次封装,也对这几天文章摸鱼感到抱歉,所以我出了一个注释非常非常全的代码 思路如下 首先需要通过调用connect方法来建立WebSocket连接。当连接成功时会调用我提供的回调函数并将连接成功的消息帧作为参数传递给它。在回调函数中我们可以打印消息帧到控制台中。如果连接失败则会执行catch回调函数并打印错误信息到控制台中。 一旦连接成功可以继续执行订阅主题的操作。通过调用subscribe方法可以订阅一个特定的主题。当接收到消息时会调用提供的回调函数并将解析后的数据作为参数传递给它。在回调函数中可以打印收到的数据到控制台中。如果订阅失败则会执行catch回调函数并打印错误信息到控制台中。 看在这么全的份上,请点个赞,不懂得可以问博主,看到会回 // 定义一个名为WebSocketClient的类 class WebSocketClient { // 构造函数接收一个url作为参数用于初始化WebSocketClient对象 constructor(url: string) { // 将传入的url赋值给this.url保存url的信息 this.url url; // 初始化socket属性为null表示尚未建立WebSocket连接 this.socket null; // 初始化stompClient属性为null表示尚未建立Stomp客户端连接 this.stompClient null; } // 定义一个名为connect的方法用于建立WebSocket连接并返回Promise对象 connect() { // 返回一个新的Promise对象Promise的参数是一个函数该函数接收resolve和reject两个参数 return new Promisevoid, Error((resolve, reject) { try { // 创建一个新的SockJS实例使用this.url作为参数尝试建立WebSocket连接 this.socket new SockJS(this.url); // 使用已建立的WebSocket连接创建一个Stomp客户端stompClient属性保存这个客户端的引用 this.stompClient Stomp.over(this.socket); // 设置stompClient的debug属性为null关闭日志输出 this.stompClient.debug null; // 关闭日志 // 使用stompClient的connect方法进行连接传入空回调函数和错误回调函数 this.stompClient.connect({}, (frame: { [key: string]: any }) { // 当连接成功时回调空回调函数并将连接成功的消息帧传递给resolve参数 resolve(frame); }, function (error) { // 当连接失败时回调错误回调函数并将错误信息传递给reject参数 reject(error); }); } catch (error) { // 如果在尝试建立WebSocket连接或Stomp客户端的过程中抛出错误将错误信息传递给reject参数 reject(error); } }); } // 定义一个名为subscribe的方法用于在已建立的连接上订阅主题并返回Promise对象 subscribe(topic: string) { // 返回一个新的Promise对象Promise的参数是一个函数该函数接收resolve和reject两个参数 return new Promiseany, Error((resolve, reject) { try { // 使用已建立的stompClient和给定的主题进行订阅传入一个回调函数和错误回调函数 this.stompClient.subscribe(topic, (data: any) { // 当接收到消息时回调回调函数并解析消息体为JSON格式的数据然后打印到控制台中 var dataGm JSON.parse(data.body); console.log(数据, dataGm); // 将解析后的数据传递给resolve参数表示订阅成功完成 resolve(dataGm); }); } catch (error) { // 如果在尝试订阅主题的过程中抛出错误将错误信息传递给reject参数 reject(error); } }); } } 调用就像下面这样调用就好了 // 使用示例 let socketUrl: string http://192.168.1.38:8080/gs-guide-websocket; let client: WebSocketClient new WebSocketClient(socketUrl); client.connect().then((frame: { [key: string]: any }) { console.log(连接成功, frame); }).catch((error: Error) { console.error(连接失败, error); }); client.subscribe(/topic).then((dataGm: any) { console.log(订阅成功, dataGm); }).catch((error: Error) { console.error(订阅失败, error); });
http://www.hkea.cn/news/14579112/

相关文章:

  • 西安哪家网络公司做网站兰州线上广告推广
  • 文化创意产品设计优化营商环境建议
  • 免费注册网站域名个人养老保险app下载
  • 北京市保障房建设投资中心网站瘫痪专门做搞笑游戏视频网站
  • 网站开发实用技术介绍电子商务管理系统
  • 类似抖音网站开发费用wordpress 评论 图片
  • 沧州公司做网站信息化建设期刊网站
  • 贵州建设厅报名登录网站lol关键词查询
  • 网站下载器常州网站制作推广
  • 帮人做网站收多少钱网络培训的感受
  • 面试问你如何快速优化网站做网站的上香动画
  • 网站域名asia是android官网入口
  • 淘宝网站建设的主要工作信息网站 模板
  • 制作网站比较大的几家公司线上推广的渠道和方法
  • 图书馆门户网站建设的意义郑州网络推广平台
  • 梅州做网站设计公司大连网站设计九必选仟亿科技
  • 网站到期域名怎么解决办法塘沽网红书店
  • 服装市场调网站建设的目的2015百度竞价单页面网站模板源码设计
  • 上海做网站运维的公司查找手机网站
  • 怎么做网站文件验证wordpress加载时间两秒
  • 个人兼职做建设网站灯具网站模板
  • 全国做网站最好的公司有哪些wordpress xmlrpc攻击
  • 17网站一起做网店的流程百度开发者大会
  • 共享虚拟主机做网站够用么北京城乡建设部网站首页
  • 注册公司的网站做游戏评论注册国外网站
  • 深圳深网站建设服务软件开发步骤流程
  • 广州 天河网站设计佛山禅城网站建设
  • 做电影网站投资多少苏州建网站需要什么
  • 做数码相的网站邢台企业做网站推广
  • 网站建设情况汇报百度排名