關於訂閱發布伺服器的簡單說明 類似mqtt

2021-10-24 08:22:25 字數 621 閱讀 1089

伺服器所做的事很簡單,就是把訂閱的事件與控制代碼client_id,繫結起來,這樣就能通過事件找到控制代碼,通過控制代碼就能找到客戶端,以上是客戶端訂閱事件,實質是把乙個字串作為key,客戶端連線作為value。

客戶端發布事件,伺服器收到發布事件的資料,通過事件關鍵字找到對應的客戶端,可能有多個客戶端訂閱同乙個事件,沒事乙個乙個處理。

有點像登陸包繫結uid一樣的意思,訂閱還是便於理解一些的,也就是靠乙個array()來實現具體功能,

某個客戶端發布了事件,也就是通過事件去遍歷這個陣列了,遍歷陣列也就是遍歷客戶端,注意這裡的遍歷是直接遍歷訂閱該事件的客戶端,因為通過事件就直接找到了下標。快速的讓我懷疑,為什麼不用c。

神奇的陣列,神奇的鍵值對,內部是通過什麼演算法去實現的,暫時不知道,可能是雜湊吧,事件是字串,通過hash演算法可以把它轉化成乙個數字,這個陣列就是下標了,大家肯定有疑問,不同的字串可能會得到同乙個數字,是的,那就看雜湊分布的是否均勻了,,還是有疑問,分布的再均勻還是有重複的,是的,重複的時候就得靠佇列來遍歷了。

這就是神奇的hash33,資料模型分析出來的,為什麼是33,沒人能具體回答出來。

dns伺服器遷移方法簡單說明

dns伺服器遷移方法如下 first 若要將區域檔案從一台伺服器移到另一台伺服器,請按照下列步驟操作 注意 要使用以下方法,必須在一台基於 windows 2000 的新伺服器上安裝 windows 2000 dns 伺服器服務。此前,應未對 dns 伺服器服務進行任何配置。1.在 dns 區域當前...

dns伺服器遷移方法簡單說明

dns伺服器遷移方法如下 first 若要將區域檔案從一台伺服器移到另一台伺服器,請按照下列步驟操作 注意 要使用以下方法,必須在一台基於 windows 2000 的新伺服器上安裝 windows 2000 dns 伺服器服務。此前,應未對 dns 伺服器服務進行任何配置。1.在 dns 區域當前...

訊息發布 訂閱伺服器 Laharsub

laharsub是一種構建在三層架構之上的發布 訂閱訊息伺服器 前端 客戶端,中間層 web服務,後端 帶有發布 訂閱功能和儲存能力的系統。客戶端一般是瀏覽器,但是可以是所有已知能夠做出http請求的程式。中間層是一種wcf的http服務,它會從客戶端接收訊息,並向其傳送訊息,而後端會包含真正的與訊...