1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        nginx-websocket-moduleNginx WebSocket 模塊

        聯(lián)合創(chuàng)作 · 2023-10-01 15:55

        Nginx 的 WebSocket 模塊。

        如何運(yùn)行?

        Nginx 使用多進(jìn)程模型。工作中的進(jìn)程不知道其他的進(jìn)程。當(dāng)有 http 請求時(shí),請求會被一個(gè)運(yùn)行中的進(jìn)程處理。這種模式簡單而有效率。它適用于 Nginx 作為代理服務(wù)器的情況。

        然而,如果你希望將 Nginx 作為一個(gè) WebSocket 服務(wù)器,我們將面臨一個(gè)棘手的問題。假設(shè)有兩個(gè)運(yùn)行中的進(jìn)程 A 和 B。當(dāng)一個(gè) WebSocket 客戶端到來時(shí),它將被 A 或 B 處理。假設(shè)它被 A 處理。然后 Nginx 會發(fā)送一些 id 信息到客戶端。如果想要發(fā)送東西給客戶端,我們也需要一個(gè)請求。然而,我們的推送請求可能由另一個(gè)進(jìn)程 B 處理,進(jìn)程 B 不知道客戶端,所以失敗了。

        為了解決這個(gè)問題,我們讓每個(gè)進(jìn)程在開始運(yùn)行之前偵聽一個(gè)唯一的端口。然而,在最新的 nginx 代碼庫中,很難添加偵聽端口。所以我們使一些 nginx 內(nèi)部 api 公開來簡化這個(gè)過程。我們將嘗試將此補(bǔ)丁合并到 nginx 代碼庫中。

        todo

        •  ipv6

        •  more debug log

        •  push binary data

        •  process upstream message

        瀏覽 20
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            潘金莲肉床伦理 | 日韩视频在线免费观看 | 操逼精品视频 | 色噜噜人妻丝袜aV先锋影音先 | 18禁黄网站免费 | 鸭王最激烈的床片段 | 啊灬啊别停灬用力军婚 | 骚骚肥肥一区二区三区 | 99re热re在线视频 | 男生被女生操 |