热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

IonicWebSocket使用

IonicWebSocket使用编写写一个工具类import{Injectable}fromangularcore;import{Observable}fromrxjsOb

Ionic WebSocket 使用


编写写一个工具类

import { Injectable } from '@angular/core';
import { Observable } from "rxjs/Observable";
import {observable} from "rxjs/symbol/observable";@Injectable()
export class WebSocketService {ws:WebSocketconstructor(){}createObservableSocket(url:string ):Observable<any>{this.ws &#61; new WebSocket(url);return new Observable<any>(observable &#61;>{this.ws.onmessage &#61; (event)&#61;> observable.next(event.data);this.ws.onerror &#61; (event)&#61;>observable.error(event);this.ws.onclose &#61; (event)&#61;>observable.complete();})}sendMessage(message:string){this.ws.send(message);}
}

当然 rxjs 需要自己安装一下

npm install rxjs

如果是高版本的话可能会说找不到&#xff0c;需要改一下导入的包&#xff1a;

import { Observable} from &#39;rxjs&#39;;
import {observable} from &#39;rxjs&#39;;

改完之后就没问题了应该。


组件中引用

import {WebSocketService} from "../service/websocket.service";

Component里配置

&#64;Component({selector: &#39;app-home&#39;,templateUrl: &#39;home.page.html&#39;,styleUrls: [&#39;home.page.scss&#39;],providers: [WebSocketService]
})

构造函数里声明

constructor( private wsService:WebSocketService) {}

使用

连接接受消息

init(){this.wsService.createObservableSocket(&#39;ws://121.40.165.18:8800&#39;).subscribe(rep &#61;>{console.log(rep)},error&#61;>{console.log("出错")});console.log(&#39;已连接 ws://121.40.165.18:8800&#39;)
}

发送消息

sendMessage(){this.wsService.sendMessage("123")
}

在这里插入图片描述


推荐阅读
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 本文探讨了一种常见的C++面试题目——实现自己的String类。通过此过程,不仅能够检验开发者对C++基础知识的掌握程度,还能加深对其高级特性的理解。文章详细介绍了如何实现基本的功能,如构造函数、析构函数、拷贝构造函数及赋值运算符重载等。 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • 本文探讨了异步编程的发展历程,从最初的AJAX异步回调到现代的Promise、Generator+Co以及Async/Await等技术。文章详细分析了Promise的工作原理及其源码实现,帮助开发者更好地理解和使用这一重要工具。 ... [详细]
  • 利用Node.js实现PSD文件的高效切图
    本文介绍了如何通过Node.js及其psd2json模块,快速实现PSD文件的自动化切图过程,以适应项目中频繁的界面更新需求。此方法不仅提高了工作效率,还简化了从设计稿到实际应用的转换流程。 ... [详细]
  • 本文探讨了如何利用RxJS库在AngularJS应用中实现对用户单击和拖动操作的精确区分,特别是在调整区域大小的场景下。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 本文详细介绍了如何使用C#实现不同类型的系统服务账户(如Windows服务、计划任务和IIS应用池)的密码重置方法。 ... [详细]
  • 本文介绍了如何使用Node.js通过两种不同的方法连接MongoDB数据库,包括使用MongoClient对象和连接字符串的方法。每种方法都有其特点和适用场景,适合不同需求的开发者。 ... [详细]
  • 探讨了在HTML表单中使用元素代替进行表单提交的方法。 ... [详细]
  • td{border:1pxsolid#808080;}参考:和FMX相关的类(表)TFmxObjectIFreeNotification ... [详细]
  • 本文介绍了.hbs文件作为Ember.js项目中的视图层,类似于HTML文件的功能,并详细讲解了如何在Ember.js应用中集成Bootstrap框架及其相关组件的方法。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
author-avatar
鍾情噯伱_616
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有