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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是WebSocket協議?

億佰特物聯網應用專家 ? 2023-08-25 08:23 ? 次閱讀

通常,打開某個網頁,我們每點擊一次網頁上的某個選項,前端就會發送一次HTTP請求,網站返回一次HTTP響應。這種由客戶端主動請求,服務器響應的方式滿足大部分網頁的功能場景。但這種情況下,服務器不會主動給客戶端發消息。而類似網頁游戲這樣的場景,是需要客戶端和服務器之間互相主動發大量數據的。
8a7d782e-42dd-11ee-8e12-92fbcf53809c.png

WebSocket是什么?

WebSocket 是一種用于在單個 TCP 連接上進行全雙工通信的網絡協議。它使用類似于 HTTP 的握手來建立連接,然后使用單獨的持久連接來進行通信。這種方式使得 WebSocket 可以在瀏覽器和服務器之間進行實時通信,而不需要多次發送 HTTP 請求來獲取數據。這意味著連接是持久的,它一直保持打開,直到有一方主動關閉連接。這使得 WebSocket 非常適合用于實時應用程序,因為它不需要不斷地建立和關閉連接。
WebSocket怎樣建立連接?WebSocket 連接通常在客戶端(例如瀏覽器)和服務器之間建立??蛻舳税l送一個 HTTP 請求來建立連接,然后服務器返回一個確認消息,表示已建立連接。之后,客戶端和服務器可以通過這個連接進行雙向通信??蛻舳丝梢韵蚍掌靼l送消息,服務器也可以向客戶端發送消息。消息可以是任意的字節數組,并且可以使用任意的格式進行編碼。8a9276e8-42dd-11ee-8e12-92fbcf53809c.jpg

建立Websocket連接

WebSocket 是一種必不可少的客戶端—服務器通信工具,需要充分了解其實用性并避免使用場景才能從其最大潛力中獲益。

WebSocket的實際用途

最常見的用途是在實時應用程序開發中,它有助于在客戶端持續顯示數據。由于后端服務器不斷發回此數據,WebSocket 允許在已打開的連接中不間斷地推送或傳輸此數據,使此類數據傳輸更快,并利用了應用程序的性能。
聊天應用程序開發人員在一次性交換、發布、廣播消息等操作中調用 WebSocket 。由于使用相同的 WebSocket 連接來發送或接收消息,因此通信變得簡單、輕量、快捷。在進行游戲應用程序開發的同時,服務器必須不間斷地接收數據,而不要求刷新 UI。WebSocket在不影響游戲應用程序 UI 的情況下實現了這一目標。

從上述幾個示例中,我們大概知道了在什么情況下不太適合使用,例如數據交互周期很長,甚至幾小時一次的情況或只需要一次性處理數據時,不應采用 WebSocket協議。在這些情況下,使用 HTTP 協議是一個明智的選擇。由于 HTTP 和 WebSocket 都用于應用程序通信,因此人們常常感到困惑,很難從這兩者中選擇一個。

WebSocket 與 HTTP 的選擇

WebSocket 是一種框架雙向協議。與此相反,HTTP 是一種單向協議,作用于 TCP 協議之上。由于WebSocket協議能夠支持不間斷的數據傳輸,因此主要用于實時應用程序開發。HTTP 是無狀態的,用于開發RESTful和 SOAP 應用程序。SOAP 仍然可以使用 HTTP 來實現,但是 REST 被廣泛傳播和使用。
8ac08010-42dd-11ee-8e12-92fbcf53809c.png

在 WebSocket 中,通信發生在兩端,這使其成為更快的協議。在 HTTP 中,連接是在一端建立的,這使得它比 WebSocket 有點慢。WebSocket 使用統一的 TCP 連接,需要一方終止連接。在它發生之前,連接保持活動狀態。HTTP 需要為單獨的請求建立不同的連接。請求完成后,連接會自動斷開。 8add712a-42dd-11ee-8e12-92fbcf53809c.jpg

HTTP 長輪詢

現今對網絡數據安全性也存在更多需求,WebSocket 連接使用的是標準的 TCP 連接,因此它可以在任何支持 TCP 的網絡上使用。它使用的是 ws:// 和 wss:// 協議前綴,這些前綴可以與任何域名或 IP 地址結合使用。WebSocket 連接是可以加密的,可以使用 TLS(Transport Layer Security,傳輸層安全)協議來保護數據的安全。這種加密連接使用的是 wss:// 協議前綴,與不加密的連接使用的 ws:// 協議前綴相區別。除此之外,WebSocket 還支持安全握手協議(Secure Handshake Protocol),這使得它可以在瀏覽器和服務器之間進行加密通信。總的來說,WebSocket 具有較高的安全性,可以保護數據的安全。另外,需要注意的是,WebSocket不是基于HTTP的新協議,因為WebSocket只有在建立連接時才用到了HTTP,升級完成之后就跟HTTP不再有任何關系。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Web
    Web
    +關注

    關注

    2

    文章

    1276

    瀏覽量

    70532
  • HTTP
    +關注

    關注

    0

    文章

    516

    瀏覽量

    32245
  • 網頁
    +關注

    關注

    0

    文章

    74

    瀏覽量

    19546
收藏 人收藏

    評論

    相關推薦

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

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

    移遠通信AI玩具整體解決方案全面升級:融合火山引擎RTC大模型,打造實時交互新體驗

    一體,可為玩具的智能化升級提供從硬件、算法到平臺的一站式服務。 移遠通信AI玩具整體解決方案率先支持火山引擎豆包RTC(實時音視頻)大模型,現已全面具備市場交付能力。與基于webSocket協議的AI玩具方案相比,基于RTC協議
    發表于 02-21 09:50 ?297次閱讀
    移遠通信AI玩具整體解決方案全面升級:融合火山引擎RTC大模型,打造實時交互新體驗

    移遠通信AI玩具整體解決方案全面升級:融合火山引擎RTC大模型,打造實時交互新體驗

    、算法到平臺的一站式服務。移遠通信AI玩具整體解決方案率先支持火山引擎豆包RTC(實時音視頻)大模型,現已全面具備市場交付能力。與基于webSocket協議的AI
    的頭像 發表于 02-20 19:06 ?374次閱讀
    移遠通信AI玩具整體解決方案全面升級:融合火山引擎RTC大模型,打造實時交互新體驗

    AWTK-WEB 快速入門(5) - C 語言 WebSocket 應用程序

    導讀WebSocket可以實現雙向通信,適合實時通信場景。本文介紹一下使用C語言開發AWTK-WEB應用程序,并用WebSocket與服務器通訊。用AWTKDesigner新建一個應用程序先安裝
    的頭像 發表于 02-19 11:49 ?301次閱讀
    AWTK-WEB 快速入門(5) - C 語言 <b class='flag-5'>WebSocket</b> 應用程序

    socket 和 WebSocket 的區別

    在現代網絡通信中,Socket和WebSocket是兩種常見的通信協議。它們在實現網絡通信、數據傳輸等方面發揮著重要作用。然而,它們之間存在一些關鍵的區別。 1. Socket(套接字) 1.1
    的頭像 發表于 11-12 14:33 ?1101次閱讀

    socket與WebSocket的區別與聯系

    在現代網絡通信中,Socket和WebSocket是兩種常見的通信協議。它們在網絡編程中扮演著重要的角色,但它們之間存在一些關鍵的區別和聯系。 1. 定義和基本概念 Socket(套接字
    的頭像 發表于 11-04 09:19 ?928次閱讀

    不可錯過的Air780E之WebSocket應用示范!小白篇

    咋們今天說的Air780E之WebSocket應用示范針對小白絕對是不可以錯過的示例。
    的頭像 發表于 11-03 20:16 ?1187次閱讀
    不可錯過的Air780E之<b class='flag-5'>WebSocket</b>應用示范!小白篇

    華納云:探討可用于降低服務器網絡延遲的先進的網絡協議

    、QUIC和WebSocket,分析它們如何在不同場景下減少服務器網絡延遲,并提供實現建議。 1. 引言 在現代互聯網應用中,用戶對加載速度和響應時間的要求越來越高。網絡延遲直接影響到用戶體驗,因此優化網絡通信變得尤為重要。傳統的網絡協議,如
    的頭像 發表于 09-30 15:14 ?454次閱讀

    ESP8266_RTOS_SDK 1.4.0中的“websocket_demo”不起作用是怎么回事?

    新的SDK用戶在這里。我剛剛嘗試了昨天發布的 ESP8266_RTOS_SDK 1.4.0 中包含的示例“websocket_demo”。我唯一更改的是 websocket.c 中的 wifi 憑據
    發表于 07-18 07:05

    websocket.c RTOS演示中缺少對wifi_connect()的調用怎么辦?

    在 RTOS SDK 1.3 中,有一個名為 /examples/websocket_demo/websocket/websocket.c 的示例。在函數中有一個名為 websocket
    發表于 07-18 06:37

    esp32c3-min-1使用at指令來連接阿里云失敗了怎么處理?

    : ESP32 Websocket Client Upgrade: websocket Sec-WebSocket-Version: 13 Sec-WebSocket
    發表于 06-27 07:42

    請問websocket庫怎么讀取服務器發來的數據?

    官方websocket庫怎么讀取服務器發來的數據?
    發表于 06-25 06:40

    鴻蒙開發網絡管理:ohos.net.webSocket WebSocket連接

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

    如何移植libwebsockets

    libwebsockets是一個高性能的開源C語言庫,專為實現WebSocket協議及相關的HTTP協議而設計。它不僅使開發者能夠在客戶端與服務器端輕松構建WebSocket連接,還可
    的頭像 發表于 06-17 13:53 ?2766次閱讀
    如何移植libwebsockets

    ESP32進行websocket通信接收數據出錯的原因?

    I (104793) WEBSOCKET: WEBSOCKET_EVENT_CONNECTED I (104953) WEBSOCKET: WEBSOCKET_EVENT_DATA I
    發表于 06-14 07:42
    主站蜘蛛池模板: 手机看片日韩永久福利盒子 | 色老太视频 | 尤物久久99热国产综合 | 精品国产三级a∨在线 | 日本一区二区三区视频在线观看 | 亚洲最新在线 | 精品色综合 | 黄色生活毛片 | 宅男666在线永久免费观看 | 中国videos偷窥 | 亚洲一区二区影院 | 91中文字幕在线视频 | 亚洲第一成年网 | 亚洲一区二区三区四区在线 | 天天干夜夜添 | 在线中文字幕第一页 | 色视频网址 | 国产福利午夜自产拍视频在线 | 欧美色图亚洲 | 丁香激情六月天 | 日本高清中文字幕在线观穿线视频 | www.午夜视频| 亚洲欧美色视频 | 天堂资源在线8 | aa三级动态图无遮无挡 | 日本天堂影院 | 成人av在线播放 | 13日本xxxxxxxxx18 1515hh四虎免费观38com | 亚洲男人a天堂在线2184 | 久操视频在线观看免费 | 日日草天天干 | 国产亚洲精品激情都市 | 天天搞夜夜操 | 97色网| 欧美在线视频7777kkkk | 亚洲婷婷国产精品电影人久久 | 国产福利不卡一区二区三区 | 阿v视频在线观看免费播放 爱爱视频天天干 | 国产理论精品 | 久久精品网站免费观看 | 日本免费不卡在线一区二区三区 |