WebSocket學習總結

一、WebSocket是什麼?html

     TCP/IP是什麼?瀏覽器

     TCP使用固定的鏈接?服務器

     爲何IP是無鏈接的?網絡

     IP路由器的由來?url

     TCP與IP有什麼區別?spa

     全雙工通信協議是什麼?htm

二、WebSocket的建立原理?對象

三、WebSocket的方法和屬性、事件blog

四、不使用它會怎麼樣?隊列

 

WebSocket是什麼?

   答:HTML5開始提供的一種在單個TCP連接上進行全雙工通信的協議

TCP/IP是什麼?

     1.TCP/IP是用於英特網(Internet)的通訊協議。

     2.TCP/IP是提供鏈接因特網的計算機通訊的通訊協議

          什麼是計算機通訊協議?

               答:計算機通訊協議是對那些計算機必須遵照以便彼此通訊的的規則的描述

     3.TCP/IP 指傳輸控制協議/網際協議

     4.定義了電子設備(好比計算機)如何連入因特網,以及數據如何在它們之間傳輸的標準

TCP使用固定的鏈接

   一、TCP的使用:TCP 用於應用程序之間的通訊。

    二、當應用程序但願經過 TCP 與另外一個應用程序通訊時,它會發送一個通訊請求。這個請求必須被送到一個確切的地址。在雙方"握手"以後,TCP 將在兩個應用程序之間創建一個全雙工 (full-duplex) 的通訊。

    三、這個全雙工的通訊將佔用兩個計算機之間的通訊線路,直到它被一方或雙方關閉爲止。

爲何IP是無鏈接的?

    一、IP的使用:IP 用於計算機之間的通訊。

    二、IP 是無鏈接的通訊協議。它不會佔用兩個正在通訊的計算機之間的通訊線路。這樣,IP 就下降了對網絡線路的需求。每條線能夠同時知足許多不一樣的計算機之間的通訊須要。

    三、經過 IP,消息(或者其餘數據)被分割爲小的獨立的包,並經過因特網在計算機之間傳送

    四、IP 負責將每一個包路由至它的目的地。

IP路由器的由來

   一、當一個 IP 包從一臺計算機被髮送,它會到達一個 IP 路由器。

    二、IP 路由器負責將這個包路由至它的目的地,直接地或者經過其餘的路由器。

    三、在一個相同的通訊中,一個包所經由的路徑可能會和其餘的包不一樣。而路由器負責根據通訊量、網絡中的錯誤或者其餘參數來進行正確地尋址。

TCP與IP有什麼區別?

      TCP:

                 TCP 負責應用軟件(好比您的瀏覽器)和網絡軟件之間的通訊

                 TCP 負責將數據分割並裝入 IP 包,而後在它們到達的時候從新組合它們。

         IP:

                 IP 負責計算機之間的通訊

                 IP 負責將包發送至接受者。

     關係: TCP 和 IP 在一塊兒協同工做。

全雙工通信協議是什麼?

     當應用程序但願經過 TCP 與另外一個應用程序通訊時,它會發送一個通訊請求。這個請求必須被送到一個確切的地址。在雙方"握手"以後,TCP 將在兩個應用程序之間創建一個全雙工 (full-duplex) 的通訊

WebSocket的建立原理?      

       瀏覽器經過 JavaScript 向服務器發出創建 WebSocket 鏈接的請求,鏈接創建之後,客戶端和服務器端就能夠經過 TCP 鏈接直接交換數據

WebSocket的方法和屬性、事件

   方法:

              一、能夠經過 send() 方法來向服務器發送數據

              二、close()關閉鏈接

   事件對象名打點時要加on,加上on表示事件處理程序

              一、經過 onmessage 事件來接收服務器返回的數據。

              二、open    鏈接創建時觸發

              三、message    客戶端接收服務端數據時觸發

              四、error    通訊發生錯誤時觸發

              五、close      鏈接關閉時觸發

     建立WebSocket獲取屬性

            例子:

                       var Socket = new WebSocket(url, [protocol] );

                       第一個參數 url, 指定鏈接的 URL。第二個參數 protocol 是可選的,指定了可接受的子協議。

            屬性:

                         只讀屬性 readyState 表示鏈接狀態,能夠是如下值:

                                 0 - 表示鏈接還沒有創建。

                                 1 - 表示鏈接已創建,能夠進行通訊。

                                 2 - 表示鏈接正在進行關閉。

                                 3 - 表示鏈接已經關閉或者鏈接不能打開。

                        只讀屬性bufferedAmount

                                 只讀屬性 bufferedAmount 已被 send() 放入正在隊列中等待傳輸,可是尚未發出的 UTF-8 文本字節數。

不使用WebSouket會怎麼樣?

     一、服務器被迫爲每一個客戶端使用許多不一樣的底層TCP鏈接:一個用於向客戶端發送信息,其它用於接收每一個傳入消息

      二、.有些協議有很高的開銷,每個客戶端和服務器之間都有HTTP頭

      使用它解決的問題:

           使用單個TCP鏈接雙向通訊。 這就是WebSocket協議所提供的功能

           結合WebSocket API ,WebSocket協議提供了一個用來替代HTTP輪詢實現網頁到遠程主機的雙向通訊的方法。

原文出處:https://www.cnblogs.com/cheng88/p/10401586.html

相關文章
相關標籤/搜索