通道配置項 ChannelOption

2022-07-05 07:57:15 字數 1636 閱讀 7395

channeloption的各種屬性在套接字選項中都有對應,下面簡單的總結一下channeloption的含義已及使用的場景。

(1) channeloption.so_backlog

channeloption.so_backlog對應的是tcp/ip協議listen函式中的backlog引數,函式listen(int socketfd,int backlog)用來初始化服務端可連線佇列,服務端處理客戶端連線請求是順序處理的,所以同一時間只能處理乙個客戶端連線,多個客戶端來的時候,服務端將不能處理的客戶端連線請求放在佇列中等待處理,backlog引數指定了佇列的大小。

(2) channeloption.so_reuseaddr

channeoption.so_reuseaddr對應於套接字選項中的so_reuseaddr,這個引數表示允許重複使用本地位址和埠,比如,某個伺服器程序占用了tcp的80埠進行監聽,此時再次監聽該埠就會返回錯誤,使用該引數就可以解決問題,該引數允許共用該埠,這個在伺服器程式中比較常使用;比如某個程序非正常退出,該程式占用的埠可能要被占用一段時間才能允許其他程序使用,而且程式死掉以後,核心一需要一定的時間才能夠釋放此埠,不設定so_reuseaddr就無法正常使用該埠。

(3) channeloption.so_keepalive

channeloption.so_keepalive引數對應於套接字選項中的so_keepalive,該引數用於設定tcp連線,當設定該選項以後,連線會測試鏈結的狀態,這個選項用於可能長時間沒有資料交流的連線。當設定該選項以後,如果在兩小時內沒有資料的通訊時,tcp會自動傳送乙個活動探測資料報文。

(4) channeloption.so_sndbuf和channeloption.so_rcvbuf

channeloption.so_sndbuf引數對應於套接字選項中的so_sndbuf,channeloption.so_rcvbuf引數對應於套接字選項中的so_rcvbuf這兩個引數用於操作接收緩衝區和傳送緩衝區的大小,接收緩衝區用於儲存網路協議站內收到的資料,直到應用程式讀取成功,傳送緩衝區用於儲存傳送資料,直到傳送成功。

(5) channeloption.so_linger

channeloption.so_linger引數對應於套接字選項中的so_linger,linux核心預設的處理方式是當使用者呼叫close()方法的時候,函式返回,在可能的情況下,盡量傳送資料,不一定保證會發生剩餘的資料,造成了資料的不確定性,使用so_linger可以阻塞close()的呼叫時間,直到資料完全傳送

(6) channeloption.tcp_nodelay

channeloption.tcp_nodelay引數對應於套接字選項中的tcp_nodelay,該引數的使用與nagle演算法有關nagle演算法是將小的資料報組裝為更大的幀然後進行傳送,而不是輸入一次傳送一次,因此在資料報不足的時候會等待其他資料的到了,組裝成大的資料報進行傳送,雖然該方式有效提高網路的有效負載,但是卻造成了延時,而該引數的作用就是禁止使用nagle演算法,使用於小資料即時傳輸,於tcp_nodelay相對應的是tcp_cork,該選項是需要等到傳送的資料量最大的時候,一次性傳送資料,適用於檔案傳輸。

MQ通道配置

mq通道配置 通道是用來連線兩個佇列管理器的 在單個佇列管理器內讀寫訊息不需要建立通道 但在乙個佇列管理器中寫入訊息,而從另乙個佇列管理器中的佇列取出訊息,這就需要建立通道 通道,對跨機和本機的佇列管理器不做區分,對於兩個佇列管理器,不論是否分布在同乙個機器上,配置方式都是一樣的,所不同的就是ip的...

LNMP nginx配置和 php fpm通道詳解

一 fastcgi?fastcgi是由cgi common gateway inte ce,通用閘道器介面 發展而來,是http伺服器 nginx apache 和動態指令碼語言 php 之間的通訊介面。記住,fastcgi只是乙個介面。fastcgi的優點 fastcgi採用c s結構,可以將ht...

Fabric 2 0 之更新通道配置

orderer addresses 可以廣播和傳遞的位址列表,peer節點從中選擇。hashing structure 塊資料是位元組陣列。塊資料的雜湊計算為默克爾樹。此值指定該merkle樹的寬度。目前,此值固定為4294967295,它對應於塊資料位元組串聯的簡單平面雜湊。hashing alg...