在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(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是通過單個(gè)TCP連接提供全雙工(雙向通信)通信信道的計(jì)算機(jī)通信協(xié)議。此WebSocket API可在用戶的瀏覽器和服務(wù)器之間進(jìn)行雙向通信。用戶可以向服務(wù)器發(fā)送消息并接收事件驅(qū)動(dòng)的響應(yīng),而無需輪詢服務(wù)器。 它可以讓多個(gè)用戶連接到同一個(gè)實(shí)時(shí)服務(wù)器,并通過API進(jìn)行通信并立即獲得響應(yīng)。

WebSocket工作原理及使用方法

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

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

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

這是現(xiàn)代Web應(yīng)用程序中的示例實(shí)現(xiàn)WebSockets。在下面的示例中,我使用WebSockets作為帶有Rails 5 API后端和React.js前端的即時(shí)消息應(yīng)用程序。這絕不是一個(gè)指南,而是一個(gè)如何使用它的例子。我使用了Action Cable,它是Rails的包裝器,可以無縫地集成Ruby中WebSockets的主要功能,并允許在整個(gè)域模型中輕松實(shí)現(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ù)器端點(diǎn)

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

WebSocket工作原理及使用方法

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

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

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

WebSocket工作原理及使用方法

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

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

WebSocket工作原理及使用方法

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

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

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

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

    關(guān)注

    2

    文章

    1553

    瀏覽量

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

    關(guān)注

    8

    文章

    1395

    瀏覽量

    80081
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AWTK-WEB 快速入門(6) - JS WebSocket 應(yīng)用程序

    WebSocket可以實(shí)現(xiàn)雙向通信,適合實(shí)時(shí)通信場(chǎng)景。本文介紹一下使用Javacript語言開發(fā)AWTK-WEB應(yīng)用程序,并用WebSocket與服務(wù)器通訊。用AWTKDesigner新建一個(gè)應(yīng)用程
    的頭像 發(fā)表于 02-26 11:42 ?240次閱讀
    AWTK-WEB 快速入門(6) - JS <b class='flag-5'>WebSocket</b> 應(yīng)用程序

    精密空調(diào)操作使用方法詳解

    精密空調(diào)操作使用方法詳解
    的頭像 發(fā)表于 02-10 14:44 ?476次閱讀
    精密空調(diào)操作<b class='flag-5'>使用方法</b>詳解

    相位測(cè)量?jī)x工作原理,相位測(cè)量?jī)x怎么使用

    相位測(cè)量?jī)x作為電子測(cè)量領(lǐng)域的重要工具,廣泛應(yīng)用于電力、通信、自動(dòng)化控制等多個(gè)行業(yè)。它通過精確測(cè)量電壓、電流等信號(hào)之間的相位關(guān)系,為工程師和技術(shù)人員提供了關(guān)鍵的數(shù)據(jù)支持。本文旨在深入探討相位測(cè)量?jī)x的工作原理,并詳細(xì)介紹其使用方法
    的頭像 發(fā)表于 01-29 15:07 ?1165次閱讀

    快速了解電源模塊的使用方法

    電源是整個(gè)電路可靠工作的核心部分。然而,由于電源電路的電流和發(fā)熱量較大,容易出現(xiàn)故障。今天我為大家介紹一下電源模塊的使用方法
    的頭像 發(fā)表于 01-21 15:24 ?460次閱讀

    AB伺服軟件使用方法

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

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

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

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

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

    淺談錫膏的儲(chǔ)存及使用方法

    錫膏(焊錫膏)是電子組裝過程中常用的材料,它的儲(chǔ)存和使用方法對(duì)保證焊接質(zhì)量和性能至關(guān)重要。以下是詳細(xì)的儲(chǔ)存及使用方法
    的頭像 發(fā)表于 06-27 10:02 ?1372次閱讀

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

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

    軟啟動(dòng)器工作原理使用方法

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

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

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

    BLDC電機(jī)的工作原理使用方法

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

    手柄控制代碼及使用方法

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

    LCR電橋測(cè)試儀的工作原理使用方法

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

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

    和靈敏度在電壓測(cè)量領(lǐng)域具有舉足輕重的地位。本文將對(duì)毫伏表的基本概念、工作原理、應(yīng)用領(lǐng)域、使用方法以及發(fā)展趨勢(shì)等方面進(jìn)行詳細(xì)闡述,以期為讀者提供一份全面深入的毫伏表知識(shí)手冊(cè)。
    的頭像 發(fā)表于 05-11 15:52 ?3326次閱讀
    主站蜘蛛池模板: 天天操天天干天天做 | 黄色一及毛片 | 9966国产精品视频 | 久久久久久午夜精品 | 天天干干干 | 天堂在线国产 | 202z国产高清日本在线播放 | 欧美黄色大片免费观看 | 巨臀中文字幕一区二区翘臀 | 白嫩美女一级高清毛片免费看 | 欧美激情区 | 全部免费特黄特色大片视频 | 绝色村妇的泛滥春情 | 国产精品美女www爽爽爽视频 | 亚洲欧美国产五月天综合 | 日本国产高清色www视频在线 | 色婷婷资源网 | 天天爽夜夜爽人人爽一区二区 | 九九精品在线观看 | 在线色站 | 日本不卡一区 | 欧美另类自拍 | 99久久综合精品免费 | 中文字幕一区二区三区在线不卡 | 色多多网 | 国产美女主播一级成人毛片 | 99热久久精品免费精品 | 色噜噜噜噜 | 亚洲综合色在线观看 | 夜夜做日日做夜夜爽 | 5555kkkk香蕉在线观看 | 久久性久久性久久久爽 | 藏经阁在线 | 噜噜啪啪| 黄乱色伦| 性网站在线观看 | 免费高清视频免费观看 | 午夜视频福利在线观看 | 日本午夜大片a在线观看 | 亚洲性人人天天夜夜摸 | 性做久久久久久久免费看 |