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

    文章

    1483

    浏览量

    61797
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1348

    浏览量

    78979
收藏 人收藏

    评论

    相关推荐

    软启动器工作原理使用方法

    软启动器是一种用于电动机启动的电气设备,其主要作用是降低电动机启动时的电流冲击,减少启动过程中对电网和机械设备的损害。本文将详细介绍软启动器的工作原理使用方法以及相关技术参数。 一、软启动器概述
    的头像 发表于 06-18 10:32 3590次阅读

    BLDC电机的工作原理使用方法

    自动化系统,BLDC电机的身影无处不在。本文将详细探讨BLDC电机的工作原理使用方法及其优势,以期为读者提供全面且深入的了解。
    的头像 发表于 06-04 18:26 1030次阅读

    LCR电桥测试仪的工作原理使用方法

    LCR电桥测试仪是一种精密的电子测量仪器,主要用于测量电感(L)、电容(C)和电阻(R)等元件的参数。它基于电桥原理进行测量,通过比较未知元件与已知标准元件之间的差异来确定待测元件的参数数值。本文将详细介绍LCR电桥测试仪的工作原理使用方法以及注意事项,以帮助读者更好地
    的头像 发表于 05-13 16:50 3977次阅读

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

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

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

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

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

    板式换热器是一种常用的换热设备,它通过将冷热流体分别流经板式换热器的两侧,使热量从热流体传递给冷流体,从而实现热量的传递和能量的高效利用。本文将详细介绍板式换热器的工作原理、安装和使用方法。 一
    的头像 发表于 02-20 16:10 3736次阅读

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

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

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

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

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

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

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

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

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

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

    台秤的工作原理 台秤的基本构造及使用方法

    台秤的工作原理: 台秤是一种常见的电子称重装置,它主要通过承载物体的重力作用力来测量重量。台秤的工作原理可以分为以下几个步骤: 传感器感应:台秤的下方通常安装有传感器,这些传感器可以感应到承载物体
    的头像 发表于 01-24 11:03 3044次阅读

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

    变频器是一种能够对电源频率进行调节的电力设备,它能够将固定输入频率的电力转变为可以对输出频率进行调节的电力。本文将详细介绍变频器的工作原理、应用领域以及使用方法和参数调整等方面。 一、变频器
    的头像 发表于 01-19 16:49 2833次阅读

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

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

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

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