伺服器學習 學習筆記 WebSocket概述

2021-10-07 13:24:25 字數 1396 閱讀 3958

一、websocket簡介及握手規則

websocket與html5息息相關,websocket是乙個持久化協議,websocket借助於http協議進行第一次握手,典型的websocket握手形式如下(即客戶端向伺服器發起請求)

origin:相較於http協議的握手請求格式,websocket的握手中多了幾個東西:

//通知伺服器建立websocket,客戶端和服務端將利用websocket進行通訊

upgrade: websocket

connection: upgrade

上述是客戶端通知伺服器,之後建立websocket並利用websocket進行通訊。除了上述的不相同外,還有不相同的地方如下:

sec-websocket-key: x3jjhmbdl1ezlkh9gbhxdw== //通訊秘鑰

sec-websocket-protocol: chat, superchat //協議支援的功能

sec-websocket-version: 13 //版本號

首先sec-websocket-key是乙個base64 encode的值,這個是瀏覽器隨機生成的,用於驗證伺服器是否支援websocket協議,然後sec-websocket-protocol是乙個使用者自定義的字串,同於區分同url下,不同服務所需要的協議,簡單理解:晚餐要吃西紅柿,廚師你別搞錯了,最後 sec-websocket-version是websocket協議所用的版本號

客戶端傳送了請求之後,服務端需要作出反應,簡單的服務端的反應訊息如下;

sec-websocket-protocol: chat二、握手完成後進行websocket通訊

握手之後呢,其實websocket通訊就類似於**接通後的通訊,客戶端與服務端一直建立連線,客戶端可以傳送訊息給服務端,客戶端也可以傳送訊息給服務端,是一種常連線。

clamd伺服器 學習筆記

實現病毒掃瞄功能的後台程序,它使用socket通訊 訊號同步 執行緒池 後台程序等典型技術。標準c庫提供了對命令列引數進行分析的函式 include int getopt int argc,char const argv const char optstring argc和argv 是main函式的...

時間伺服器學習筆記

時間伺服器主要工作在區域網中,它接收來自衛星導航系統 gps glonass galileo 北斗 的標準時間,然後在區域網中,使用ntp ptpv2 ieee1588協議將時間直接傳送到連入網路的端中,實現同步校對,讓整個個區域網中的客戶端 最多10萬個 能夠統一時間。可以把一台裝有ntp協議的伺...

Kestrel Web 伺服器學習筆記

前言 asp.net core 已經不是啥新鮮的東西,很多新啟的專案都會首選 core 做開發 而 kestrel 可以說是微軟推出的唯一真正實現跨平台的 web 伺服器了 kestrel 利用乙個名為 kestrelengine 的網路引擎實現對請求的監聽 接收和響應 ketrel 之所以具有跨平...