<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          nginx-websocket-moduleNginx WebSocket 模塊

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

          Nginx 的 WebSocket 模塊。

          如何運行?

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

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

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

          todo

          •  ipv6

          •  more debug log

          •  push binary data

          •  process upstream message

          瀏覽 20
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色婷婷综合国产 | www.操操 | 看操逼逼 | 亚洲第一页综合 | 成人av影音先锋 成人电影无码三区 |