關於WebSocket協議

來源:互聯網
上載者:User

標籤:amount   資訊   mount   成功   pen   read   message   關於   span   

        WebSocket是單個TCP串連上進行全雙工系統通訊的協議

        在WebSocket的API中,用戶端與伺服器只需要進行一次握手就可以保持持久的串連,並可以雙向傳輸資料

        與HTTP不同的是,WebSocket需要先建立串連,串連成功之後就可以進行通訊,而且通訊時,要求標頭部可以減少部分狀態資訊

        建立WebSocket對象:const  Socket =  new WebSocket(url, [protocol])  url就是需要串連的url,protocol是子協議(可選)

        WebSocket協議的屬性,事件與方法有如下:

        屬性: readyState (Socket.readyState)

                         0:串連尚未建立

                         1:已建立串連,可以進行通訊

                         2:串連正在關閉

                         3:串連已關閉,或串連無法開啟

                  bufferedAmount-----唯讀,表示已被send()放入隊列中等待傳輸,但UTF-8文本位元組數未發出

       事件: open (Socket.onopen)   串連建立成功時觸發(可以進行資料轉送)

                  message (Socket.onmessage)  用戶端接受伺服器資料時觸發 (可以處理伺服器傳輸過來的資料)

                  error (Socket.onerror)  通訊發生錯誤時觸發 

                  close (Socket.close)   串連關閉成功時觸發

        方法: send() (Socket.send())  用戶端與伺服器傳輸資料時使用的方法

                   close() (Socket.close()) 關閉串連

 

         關閉WebSocket串連時,需要用戶端與伺服器一起斷開,可以由用戶端發起關閉,也可以由伺服器發起關閉

         用戶端發起關閉: 由用戶端調用close()方法,這個操作會向伺服器發起中斷連線的請求,伺服器接收到這個請求後斷開TCP串連

         伺服器發起關閉: 由伺服器向用戶端發起中斷連線的請求,這個請求可以傳輸一些資訊過來,比如狀態代碼,用戶端會觸發close事件,這時就可以調用close()來中斷連線了

 

關於WebSocket協議

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.