0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

WebSocket工作原理及使用方法

汽车玩家 来源:今日头条 作者:新钛云服 2020-05-05 22:12 次阅读

它有很多名字; WebSocket,WebSocket协议和WebSocket API。从首选的消息传递应用程序到流行的在线多人游戏,WebSocket在当今最常用的Web应用程序中是至关重要的。

根据定义,WebSocket是通过单个TCP连接提供全双工(双向通信)通信信道的计算机通信协议。此WebSocket API可在用户的浏览器和服务器之间进行双向通信。用户可以向服务器发送消息并接收事件驱动的响应,而无需轮询服务器。 它可以让多个用户连接到同一个实时服务器,并通过API进行通信并立即获得响应。

WebSocket工作原理及使用方法

WebSockets允许用户和服务器之间的流连接,并允许即时信息交换。在聊天应用程序的示例中,通过套接字汇集消息,可以实时与一个或多个用户交换,具体取决于谁在服务器上“监听”(连接)。

WebSockets不仅限于聊天/消息传递应用程序。它们适用于需要实时更新和即时信息交换的任何应用程序。一些示例包括但不限于:现场体育更新,股票行情,多人游戏,聊天应用,社交媒体等等。

WebSockets还会考虑代理和防火墙等危险,使得任何连接都可以进行流式传输。它支持单个连接的上游和下游通信。 它还减轻了服务器的负担,允许现有机器支持同时连接。

这是现代Web应用程序中的示例实现WebSockets。在下面的示例中,我使用WebSockets作为带有Rails 5 API后端和React.js前端的即时消息应用程序。这绝不是一个指南,而是一个如何使用它的例子。我使用了Action Cable,它是Rails的包装器,可以无缝地集成Ruby中WebSockets的主要功能,并允许在整个域模型中轻松实现。 它内置于Rails 5.2中,因此无需安装/执行任何外部库或gem。

它的工作原理是Pub-Sub(发布和订阅)。它适用于发送者将数据(发布者)发送给抽象数量的收件人(订阅者),而无需指定他们是谁。

第一步是将服务器挂载到路由文件中,这样前端就可以从流中得到endpoint:

WebSocket工作原理及使用方法

在第5行,我设置了ActionCable服务器端点

下一步是在后端创建一个通道,以便在实时创建消息时对消息进行流式处理。

WebSocket工作原理及使用方法

这是管理消息创建以及广播消息的消息通道

这里我们有两种方法,订阅和接收。订阅的第一种方法允许将消息通道流式传输到连接的用户或订户。 接收的第二种方法管理消息创建和广播消息。我实现了JWT用户身份验证,以便可以将消息追溯到用户,只有具有有效用户帐户的消息才能创建消息。

对于我的应用程序的前端,我使用它们npm package actioncable从客户端到服务器端连接到WebSocket API。 这个包直接来自于Rails的团队。 使用此库,我实例化了一个cableApp实例,并将其作为props传递给需要访问WebSocket连接的组件。

WebSocket工作原理及使用方法

导入actionCable并创建了一个cableApp实例,然后将cableApp连接到我的后端端点“/ cable”并将其传递给需要连接的组件

然后,我通过React.js生命周期方法componentDidMount()连接到WebSocket的连接,并在每次将组件安装到DOM时建立连接。

WebSocket工作原理及使用方法

在componentDidMount()中,我建立了客户端以连接到WebSocket协议,该协议从我的Rails API中的“messagesChannel”流式传输。

现在,每次创建消息并将其发送到接收方法时,订阅(d)用户将立即接收并能够实时查看消息。此实现支持订阅同一频道的多个用户。因此,如果多个用户签名并订阅了相同的频道,他们可以发送所有订阅者都能看到的消息以及从其他订阅者接收消息。当然,你可以限制为两个人,并使它成为p2p,但是那样还有什么乐趣呢?

我希望通过阅读本文,可以看到WebSockets的潜力。它使自己成为一个宝贵的资源,在这个时代,信息交换需要很快完成。 希望读者将在自己的项目中实现它们。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    1382

    浏览量

    60989
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1270

    浏览量

    78287
收藏 人收藏

    评论

    相关推荐

    鸿蒙原生应用开发-网络管理WebSocket连接

    一、场景介绍 使用WebSocket建立服务器与客户端的双向连接,需要先通过createWebSocket()方法创建WebSocket对象,然后通过connect()方法连接到服务器
    发表于 04-07 09:46

    点焊机的工作原理使用方法

    点焊机是一种常用于金属加工中的设备,它能够将金属零件通过瞬间高温融合在一起。这种焊接方式在汽车制造、电子设备制造、金属加工等领域广泛应用。本文创想焊缝跟踪小编将介绍点焊机的工作原理以及使用方法
    的头像 发表于 03-26 17:50 484次阅读
    点焊机的<b class='flag-5'>工作原理</b>及<b class='flag-5'>使用方法</b>

    板式换热器工作原理 板式换热器的安装和使用方法

    板式换热器是一种常见的换热设备,主要用于热交换过程中的热传导。它由一系列平板组成,这些平板之间存在热传导,实现热能的转移。本文将详细介绍板式换热器的工作原理、安装和使用方法。 一、板式换热器
    的头像 发表于 02-14 17:10 1090次阅读

    制氧机原理及使用方法 空气制氧机的工作原理

    制氧机是一种能够从空气中提取出高纯度氧气的设备,广泛应用于医疗机构、养老院、家庭等多个领域。制氧机的原理和使用方法对于使用者来说非常重要,下面将详细介绍。 一、制氧机的工作原理 制氧机是根据分子筛
    的头像 发表于 02-03 14:50 853次阅读

    ph传感器的工作原理 ph传感器的使用方法

    PH传感器是一种感知物质酸碱性的设备,它在许多领域中被广泛应用,包括环境监测、水质检测、食品加工和生物科学研究等领域。本文将详细介绍PH传感器的工作原理使用方法。 一、PH传感器的工作原理 PH
    的头像 发表于 02-03 09:43 1042次阅读

    变频器工作原理及应用 变频器的使用方法及参数调整

    使用方法和参数调整。 一、变频器的工作原理 变频器的基本构成 变频器通常由直流整流器、滤波器、逆变器和控制电路组成。其中,直流整流器将交流电源转换为直流电源,滤波器用于平滑输出电流,在逆变器中将直流电流转换为具
    的头像 发表于 01-30 14:43 1119次阅读

    恒讯科技带大家深入理解:WebSocket服务器的工作原理

    WebSocket是一种在单个TCP连接上进行全双工通信的通信协议。它的设计目标是在Web浏览器和服务器之间提供低延迟、高效的双向通信。下面是深入理解WebSocket服务器工作原理的一些关键概念
    的头像 发表于 01-29 16:48 169次阅读

    高压放大器的工作原理使用方法是什么

    工作原理使用方法。 一、工作原理 放大器拓扑结构:高压放大器通常采用共源极或共集电极的放大器拓扑结构。其中,共源极电路具有较高的输入阻抗和较低的输出阻抗,适合用于高压放大器应用。通过合理设计电路结构和匹配网络,可
    的头像 发表于 01-02 14:59 171次阅读
    高压放大器的<b class='flag-5'>工作原理</b>和<b class='flag-5'>使用方法</b>是什么

    数码管的工作原理使用方法解析

    数码管是一种常见的显示元件,用于以数字形式显示数字、字母和特殊符号。它具有简单、可靠、易读等特点,在很多电子设备中应用广泛。本文将对数码管的工作原理使用方法进行细致的解析。 一、数码管的工作原理
    的头像 发表于 12-18 17:31 1207次阅读

    光耦继电器的工作原理使用方法详解

    光耦继电器的工作原理使用方法详解 光耦继电器是一种将输入的光信号转换为输出电信号的电子装置。它主要由发光二极管(LED)和光敏三极管(光二极管)组成,通过发光二极管发出的光信号,来控制光敏三极管
    的头像 发表于 11-17 14:04 1464次阅读

    websocket协议的原理

    WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。 WebSocket通信协议于2011年被IETF
    的头像 发表于 11-09 15:13 428次阅读
    <b class='flag-5'>websocket</b>协议的原理

    数字电源工作原理 数字电源使用方法

    数字电源工作原理 数字电源使用方法 数字电源是基于数字信号处理技术实现的稳压电源,它能够在数字控制下精确调节输出电压和电流,具有精度高、稳定性强、响应速度快等优点,广泛应用于各个领域中。 数字电源
    的头像 发表于 10-16 16:16 973次阅读

    真空干燥箱:工作原理、特点、技术参数及使用方法

    了广泛应用。本文将介绍真空干燥箱的工作原理、特点、技术参数及使用方法等方面的知识。真空干燥箱的工作原理是利用真空泵将箱体内的空气抽出,降低气压,同时加热样品以促进水分和
    的头像 发表于 09-27 11:26 1499次阅读
    真空干燥箱:<b class='flag-5'>工作原理</b>、特点、技术参数及<b class='flag-5'>使用方法</b>

    TTL电路分析、工作原理使用方法

    今天给大家分享的是: TTL电路的分析 、TTL电路 工作原理 、TTL电路 使用方法
    发表于 05-18 09:06 3924次阅读
    TTL电路分析、<b class='flag-5'>工作原理</b>、<b class='flag-5'>使用方法</b>

    数据转换器的基本工作原理使用方法

    数据转换器是一种仪器、装置,也是一种电子元器件,它的主要作用是将其他类型的电能信号转换成另一种,并且能够将一种电能因数信号转换成另一种电能因数信号。数据转换可分分为两大类:电能信号转换和电能因数信号转换。下面AMEYA360电子元器件采购网详细介绍:数据转换器的基本工作原理使用
    的头像 发表于 05-15 11:29 1265次阅读