国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

    文章

    2371

    瀏覽量

    66772
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1425

    瀏覽量

    83508
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RTL9301管理型交換機DHCP Server使用方法

    RTL9301管理型交換機DHCP Server使用方法
    的頭像 發表于 02-01 10:52 ?1299次閱讀
    RTL9301管理型交換機DHCP Server<b class='flag-5'>使用方法</b>

    從0到1搭建實時日志監控系統:基于WebSocket + Elasticsearch的實戰方案

    低成本、實時性高的日志監控系統。 2. 技術選型 數據存儲 :Elasticsearch(高效檢索與聚合) 實時推送 :WebSocket(全雙工通信,避免HTTP輪詢) 后端服務 :Node.js
    發表于 01-09 16:43

    ups電源的作用和使用方法詳解

    UPS(不間斷電源)是一種重要的電力保護設備,主要用于在電網供電異常時提供臨時的后備電源,并改善電源質量。以下是其核心作用和使用方法的詳細介紹:一、UPS的主要作用核心:提供不間斷電力斷電保護:在
    的頭像 發表于 01-08 09:21 ?1207次閱讀
    ups電源的作用和<b class='flag-5'>使用方法</b>詳解

    無線充電器的工作原理核心

    無線充電器的工作原理核心
    的頭像 發表于 12-06 10:19 ?1329次閱讀
    無線充電器的<b class='flag-5'>工作原理</b>核心

    芯源IR調制器都有哪些具體使用?使用方法是怎樣的?

    芯源IR調制器都有哪些具體使用?以及使用方法是怎樣的?
    發表于 12-02 06:33

    堆棧的定義,堆棧的使用方法

    和使用; 對于8086CPU,進出堆棧的只能是2字節的數據。 2 堆棧的使用方法 常用的堆棧相關指令包括PUSH POP PUSHF和POPF,語法如下: PUSH 源操作數;將指定操作數入棧保護 POP
    發表于 11-21 06:49

    一文吃透WebSocket:智能物聯網通信的入門與實戰全攻略!

    想在智能物聯網項目中實現設備與平臺的實時“對話”?WebSocket是你的最佳選擇。本文作為一份完整的學習與實戰攻略,從基礎概念講起,逐步深入到編碼實踐,涵蓋協議細節、開發框架與常見問題
    的頭像 發表于 10-15 18:16 ?488次閱讀
    一文吃透<b class='flag-5'>WebSocket</b>:智能物聯網通信的入門與實戰全攻略!

    智能物聯網實時通信實戰:WebSocket技術解析 !

    在設備海量接入、數據高頻交互的物聯網時代,WebSocket以其低延遲、雙向通信的優勢脫穎而出。本文全面解析其在智能物聯網中的技術實現路徑,涵蓋協議分析、服務端/客戶端開發、心跳保活與錯誤處理,并
    的頭像 發表于 10-15 18:16 ?1042次閱讀
    智能物聯網實時通信實戰:<b class='flag-5'>WebSocket</b>技術解析 !

    條碼掃碼設備的使用方法

    使用方法,能讓其充分發揮價值,為各行業的規范化管理提供有力支撐。一、條碼掃碼設備的主要類型不同場景對條碼掃碼設備的需求存在差異,目前主流類型可分為四類,適配不同工作
    的頭像 發表于 09-17 16:15 ?948次閱讀
    條碼掃碼設備的<b class='flag-5'>使用方法</b>

    錫膏的儲存及使用方法詳解

    錫膏是一種常用的焊接輔助材料,廣泛應用于電子、電器、通訊、儀表等行業的焊接工藝中。正確的儲存和使用方法對于保證錫膏的品質和焊接效果至關重要。本文將就錫膏的儲存和使用方法進行詳細介紹,希望能對廣大焊接工作者有所幫助。
    的頭像 發表于 07-18 17:36 ?1396次閱讀
    錫膏的儲存及<b class='flag-5'>使用方法</b>詳解

    GPIO配置的工作原理是什么?

    我使用 EZ-USB 配置實用程序,我想知道是否有人知道 GPIO 配置的工作原理。 例如,GPIO0 可以用作傳感器復位,我知道這個 GPIO0 用于重置傳感器,但我不明白的是選項用戶 GPIO 例如GPIO 1可以是User GPIO0,這是什么意思呢?
    發表于 05-19 06:56

    電動調壓器的工作原理

    電壓調壓器是一種用于控制電路中電壓的裝置,其工作原理因類型而異,以下是幾種常見電壓調壓器的工作原理
    的頭像 發表于 05-12 13:46 ?1363次閱讀
    電動調壓器的<b class='flag-5'>工作原理</b>

    LCR測試儀的使用方法與注意事項

    LCR測試儀的使用方法、操作注意事項及常見故障處理,幫助讀者高效、安全地掌握這一儀器的使用技巧。 ? 二、LCR測試儀的基本使用方法 1. 準備階段 (1)設備檢查:確保測試儀電源線、連接線完好,電源開關關閉。檢查測試夾具或探針
    的頭像 發表于 04-29 10:36 ?1.3w次閱讀
    LCR測試儀的<b class='flag-5'>使用方法</b>與注意事項

    微動開關的工作原理

    微動開關的工作原理
    的頭像 發表于 04-17 09:00 ?3607次閱讀

    西門子PLC-模擬量采集計算使用方法

    西門子PLC-模擬量采集計算使用方法,很實用
    發表于 04-09 15:29 ?1次下載