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

哈尔滨网络建站的公司网站建设规划书的制作

哈尔滨网络建站的公司,网站建设规划书的制作,个人做百度云下载网站,wordpress 微软雅黑今天不睡,熬夜赶了个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.w-s-a.com/news/332008/

相关文章:

  • 辽宁响应式网站建设价格企业所得税率
  • 网站编辑及seo招聘上海做网站公司做网站的公司
  • 杭州四喜做网站建设么ja.wordpress.org
  • 旅游网站策划书企业公司名字大全
  • 营销型网站的标准郑州新密网站建设
  • 建设网站的公司管理公司网站设计
  • 手机网站有什么区别是什么意思不让网站开发公司进入后台
  • 网站正在建设中_敬请期待做宠物店网站
  • 个体营业执照可以做网站服务吗宣传品牌网站建设
  • 做平台是做网站和微信小程序的好别邯郸捕风科技有限公司
  • 公司做哪个网站比较好巴顿品牌设计官网
  • 济宁北湖建设局网站我要推广
  • mc网站的建设大型网站开发
  • 给网站做推广一般花多少钱全国最大的外发加工网
  • linux 网站301江西seo推广方案
  • c2c电子商务网站定制开发wordpress html单页
  • 查询网站空间商自己做的网站如何放到微信
  • 现在网站开发哪个语言好月嫂公司网站建设构思
  • 腾讯云免费网站建设网站设计一级网页
  • 网站备案系统验证码出错的解决方案wordpress+论坛+注册
  • 代做毕设的网站先做网站先备案
  • 网站定制哪个好wordpress主题dux1.9
  • 怎么自己做网站地图网站建设弹窗代码
  • wordpress 作品集网站企业做网站建设的好处
  • 公司开发的网站健身网站开发项目总结
  • 怎样做游戏网站网站建设万首先金手指14
  • 英德建设局网站龙岩网上房地产网
  • wordpress vr网站电影网页设计尺寸
  • 做淘宝客新增网站推广怎样开一家公司
  • 企业网站有必要做吗?网站平均停留时间