那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

WebSocket工作原理及使用方法

汽車玩家 ? 來源:今日頭條 ? 作者:新鈦云服 ? 2020-05-05 22:12 ? 次閱讀

它有很多名字; WebSocket,WebSocket協(xié)議和WebSocket API。從首選的消息傳遞應(yīng)用程序到流行的在線多人游戲,WebSocket在當(dāng)今最常用的Web應(yīng)用程序中是至關(guān)重要的。

根據(jù)定義,WebSocket是通過單個TCP連接提供全雙工(雙向通信)通信信道的計算機通信協(xié)議。此WebSocket API可在用戶的瀏覽器和服務(wù)器之間進行雙向通信。用戶可以向服務(wù)器發(fā)送消息并接收事件驅(qū)動的響應(yīng),而無需輪詢服務(wù)器。 它可以讓多個用戶連接到同一個實時服務(wù)器,并通過API進行通信并立即獲得響應(yīng)。

WebSocket工作原理及使用方法

WebSockets允許用戶和服務(wù)器之間的流連接,并允許即時信息交換。在聊天應(yīng)用程序的示例中,通過套接字匯集消息,可以實時與一個或多個用戶交換,具體取決于誰在服務(wù)器上“監(jiān)聽”(連接)。

WebSockets不僅限于聊天/消息傳遞應(yīng)用程序。它們適用于需要實時更新和即時信息交換的任何應(yīng)用程序。一些示例包括但不限于:現(xiàn)場體育更新,股票行情,多人游戲,聊天應(yīng)用,社交媒體等等。

WebSockets還會考慮代理和防火墻等危險,使得任何連接都可以進行流式傳輸。它支持單個連接的上游和下游通信。 它還減輕了服務(wù)器的負(fù)擔(dān),允許現(xiàn)有機器支持同時連接。

這是現(xiàn)代Web應(yīng)用程序中的示例實現(xiàn)WebSockets。在下面的示例中,我使用WebSockets作為帶有Rails 5 API后端和React.js前端的即時消息應(yīng)用程序。這絕不是一個指南,而是一個如何使用它的例子。我使用了Action Cable,它是Rails的包裝器,可以無縫地集成Ruby中WebSockets的主要功能,并允許在整個域模型中輕松實現(xiàn)。 它內(nèi)置于Rails 5.2中,因此無需安裝/執(zhí)行任何外部庫或gem。

它的工作原理是Pub-Sub(發(fā)布和訂閱)。它適用于發(fā)送者將數(shù)據(jù)(發(fā)布者)發(fā)送給抽象數(shù)量的收件人(訂閱者),而無需指定他們是誰。

第一步是將服務(wù)器掛載到路由文件中,這樣前端就可以從流中得到endpoint:

WebSocket工作原理及使用方法

在第5行,我設(shè)置了ActionCable服務(wù)器端點

下一步是在后端創(chuàng)建一個通道,以便在實時創(chuàng)建消息時對消息進行流式處理。

WebSocket工作原理及使用方法

這是管理消息創(chuàng)建以及廣播消息的消息通道

這里我們有兩種方法,訂閱和接收。訂閱的第一種方法允許將消息通道流式傳輸?shù)竭B接的用戶或訂戶。 接收的第二種方法管理消息創(chuàng)建和廣播消息。我實現(xiàn)了JWT用戶身份驗證,以便可以將消息追溯到用戶,只有具有有效用戶帳戶的消息才能創(chuàng)建消息。

對于我的應(yīng)用程序的前端,我使用它們npm package actioncable從客戶端到服務(wù)器端連接到WebSocket API。 這個包直接來自于Rails的團隊。 使用此庫,我實例化了一個cableApp實例,并將其作為props傳遞給需要訪問WebSocket連接的組件。

WebSocket工作原理及使用方法

導(dǎo)入actionCable并創(chuàng)建了一個cableApp實例,然后將cableApp連接到我的后端端點“/ cable”并將其傳遞給需要連接的組件

然后,我通過React.js生命周期方法componentDidMount()連接到WebSocket的連接,并在每次將組件安裝到DOM時建立連接。

WebSocket工作原理及使用方法

在componentDidMount()中,我建立了客戶端以連接到WebSocket協(xié)議,該協(xié)議從我的Rails API中的“messagesChannel”流式傳輸。

現(xiàn)在,每次創(chuàng)建消息并將其發(fā)送到接收方法時,訂閱(d)用戶將立即接收并能夠?qū)崟r查看消息。此實現(xiàn)支持訂閱同一頻道的多個用戶。因此,如果多個用戶簽名并訂閱了相同的頻道,他們可以發(fā)送所有訂閱者都能看到的消息以及從其他訂閱者接收消息。當(dāng)然,你可以限制為兩個人,并使它成為p2p,但是那樣還有什么樂趣呢?

我希望通過閱讀本文,可以看到WebSockets的潛力。它使自己成為一個寶貴的資源,在這個時代,信息交換需要很快完成。 希望讀者將在自己的項目中實現(xiàn)它們。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1511

    瀏覽量

    62400
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1378

    瀏覽量

    79303
收藏 人收藏

    評論

    相關(guān)推薦

    AB伺服軟件使用方法

    AB伺服軟件使用方法
    發(fā)表于 12-24 14:45 ?0次下載

    DC/DC模擬的基本使用方法和特性確認(rèn)方法

    本篇介紹了DC/DC模擬的基本使用方法及確認(rèn)基本特性的方法
    的頭像 發(fā)表于 08-20 17:08 ?817次閱讀
    DC/DC模擬的基本<b class='flag-5'>使用方法</b>和特性確認(rèn)<b class='flag-5'>方法</b>

    電源時序器的原理及使用方法是什么

    電源時序器是一種用于控制多個電源設(shè)備按照一定順序開啟或關(guān)閉的電子設(shè)備。它廣泛應(yīng)用于音響、舞臺燈光、電視廣播、工業(yè)自動化等領(lǐng)域。本文將介紹電源時序器的原理及使用方法。 一、電源時序器的原理 電源時序器
    的頭像 發(fā)表于 07-08 14:16 ?2705次閱讀

    鴻蒙開發(fā)網(wǎng)絡(luò)管理:ohos.net.webSocket WebSocket連接

    使用WebSocket建立服務(wù)器與客戶端的雙向連接,需要先通過[createWebSocket]方法創(chuàng)建[WebSocket]對象,然后通過[connect]方法連接到服務(wù)器。當(dāng)連接成
    的頭像 發(fā)表于 06-19 17:12 ?668次閱讀
    鴻蒙開發(fā)網(wǎng)絡(luò)管理:ohos.net.<b class='flag-5'>webSocket</b> <b class='flag-5'>WebSocket</b>連接

    軟啟動器工作原理使用方法

    軟啟動器是一種用于電動機啟動的電氣設(shè)備,其主要作用是降低電動機啟動時的電流沖擊,減少啟動過程中對電網(wǎng)和機械設(shè)備的損害。本文將詳細(xì)介紹軟啟動器的工作原理使用方法以及相關(guān)技術(shù)參數(shù)。 一、軟啟動器概述
    的頭像 發(fā)表于 06-18 10:32 ?4659次閱讀

    ESP32進行websocket通信接收數(shù)據(jù)出錯的原因?

    I (104793) WEBSOCKET: WEBSOCKET_EVENT_CONNECTED I (104953) WEBSOCKET: WEBSOCKET_EVENT_DATA I
    發(fā)表于 06-14 07:42

    BLDC電機的工作原理使用方法

    自動化系統(tǒng),BLDC電機的身影無處不在。本文將詳細(xì)探討B(tài)LDC電機的工作原理使用方法及其優(yōu)勢,以期為讀者提供全面且深入的了解。
    的頭像 發(fā)表于 06-04 18:26 ?1315次閱讀

    手柄控制代碼及使用方法

    手柄控制代碼及使用方法
    的頭像 發(fā)表于 05-15 10:19 ?2110次閱讀

    LCR電橋測試儀的工作原理使用方法

    LCR電橋測試儀是一種精密的電子測量儀器,主要用于測量電感(L)、電容(C)和電阻(R)等元件的參數(shù)。它基于電橋原理進行測量,通過比較未知元件與已知標(biāo)準(zhǔn)元件之間的差異來確定待測元件的參數(shù)數(shù)值。本文將詳細(xì)介紹LCR電橋測試儀的工作原理使用方法以及注意事項,以幫助讀者更好地
    的頭像 發(fā)表于 05-13 16:50 ?4888次閱讀

    毫伏表的基本概念和工作原理 毫伏表的應(yīng)用領(lǐng)域和使用方法

    和靈敏度在電壓測量領(lǐng)域具有舉足輕重的地位。本文將對毫伏表的基本概念、工作原理、應(yīng)用領(lǐng)域、使用方法以及發(fā)展趨勢等方面進行詳細(xì)闡述,以期為讀者提供一份全面深入的毫伏表知識手冊。
    的頭像 發(fā)表于 05-11 15:52 ?2575次閱讀

    光纖熱縮管正確使用方法

    的正確使用方法,以確保光纖連接的品質(zhì)和穩(wěn)定性。 第一步:準(zhǔn)備工作 在開始使用光纖熱縮管之前,需要做一些準(zhǔn)備工作。首先,確保光纖連接點處的環(huán)境干凈、整潔。光纖連接點應(yīng)該沒有灰塵、油污或其他雜物。 第二步:選擇合適
    的頭像 發(fā)表于 04-07 17:13 ?1696次閱讀

    鴻蒙原生應(yīng)用開發(fā)-網(wǎng)絡(luò)管理WebSocket連接

    一、場景介紹 使用WebSocket建立服務(wù)器與客戶端的雙向連接,需要先通過createWebSocket()方法創(chuàng)建WebSocket對象,然后通過connect()方法連接到服務(wù)器
    發(fā)表于 04-07 09:46

    點焊機的工作原理使用方法

    點焊機是一種常用于金屬加工中的設(shè)備,它能夠?qū)⒔饘倭慵ㄟ^瞬間高溫融合在一起。這種焊接方式在汽車制造、電子設(shè)備制造、金屬加工等領(lǐng)域廣泛應(yīng)用。本文創(chuàng)想焊縫跟蹤小編將介紹點焊機的工作原理以及使用方法
    的頭像 發(fā)表于 03-26 17:50 ?3454次閱讀
    點焊機的<b class='flag-5'>工作原理</b>及<b class='flag-5'>使用方法</b>

    板式換熱器工作原理 板式換熱器的安裝和使用方法

    板式換熱器是一種常用的換熱設(shè)備,它通過將冷熱流體分別流經(jīng)板式換熱器的兩側(cè),使熱量從熱流體傳遞給冷流體,從而實現(xiàn)熱量的傳遞和能量的高效利用。本文將詳細(xì)介紹板式換熱器的工作原理、安裝和使用方法。 一
    的頭像 發(fā)表于 02-20 16:10 ?5013次閱讀

    板式換熱器工作原理 板式換熱器的安裝和使用方法

    板式換熱器是一種常見的換熱設(shè)備,主要用于熱交換過程中的熱傳導(dǎo)。它由一系列平板組成,這些平板之間存在熱傳導(dǎo),實現(xiàn)熱能的轉(zhuǎn)移。本文將詳細(xì)介紹板式換熱器的工作原理、安裝和使用方法。 一、板式換熱器
    的頭像 發(fā)表于 02-14 17:10 ?8590次閱讀
    百家乐官网好多假网站| 百家乐赢家| 德州扑克专业版| KK百家乐官网的玩法技巧和规则| 太阳城二手房| 宁陕县| 百家乐群博爱彩| 百家乐官网看不到视频| 金鼎百家乐局部算牌法| 缅甸百家乐官网网上投注| 网上的百家乐怎么才能| 百家乐官网必赢术| 博士娱乐| 百家乐没边| 澳门百家乐官网小游戏| 威尼斯人娱乐场是真的吗| 劳力士百家乐官网的玩法技巧和规则 | 真人百家乐蓝盾娱乐网| 百家乐官网注码法| 大发888娱乐城34| 百家乐玩法和技巧| 百家乐官网永利娱乐城| 大发888娱乐城取款| LV百家乐官网娱乐城| 拜泉县| 百家乐筹码防伪定制| 百家乐官网开户投注| 棋牌新教室| 百家乐双倍派彩的娱乐城| 百家乐官网开发软件| 香港六合彩开奖记录| 圆梦城百家乐娱乐城| 百家乐官网平台注册| 将乐县| 大发888娱乐城电脑版下载| 金沙百家乐现金网| 玩百家乐官网如何硬| 六合彩开奖日期| 百家乐全部规则| 百家乐合作代打| 百家乐官网大眼仔路|