channeloption的參數(shù)解釋

這個(gè)都是socket的標(biāo)準(zhǔn)參數(shù),并不是netty自己的。

具體為:

ChannelOption.SO_BACKLOG,?1024

BACKLOG用于構(gòu)造服務(wù)端套接字ServerSocket對(duì)象,標(biāo)識(shí)當(dāng)服務(wù)器請(qǐng)求處理線程全滿(mǎn)時(shí),用于臨時(shí)存放已完成三次握手的請(qǐng)求的隊(duì)列的最大長(zhǎng)度。如果未設(shè)置或所設(shè)置的值小于1,Java將使用默認(rèn)50。

ChannelOption.SO_KEEPALIVE,?true

是否啟用心跳?;顧C(jī)制。在雙方TCP套接字建立連接后(即都進(jìn)入ESTABLISHED狀態(tài))并且在兩個(gè)小時(shí)左右上層沒(méi)有任何數(shù)據(jù)傳輸?shù)那闆r下,這套機(jī)制才會(huì)被激活。

ChannelOption.TCP_NODELAY,?true

在TCP/IP協(xié)議中,無(wú)論發(fā)送多少數(shù)據(jù),總是要在數(shù)據(jù)前面加上協(xié)議頭,同時(shí),對(duì)方接收到數(shù)據(jù),也需要發(fā)送ACK表示確認(rèn)。為了盡可能的利用網(wǎng)絡(luò)帶寬,TCP總是希望盡可能的發(fā)送足夠大的數(shù)據(jù)。這里就涉及到一個(gè)名為Nagle的算法,該算法的目的就是為了盡可能發(fā)送大塊數(shù)據(jù),避免網(wǎng)絡(luò)中充斥著許多小數(shù)據(jù)塊。

TCP_NODELAY就是用于啟用或關(guān)于Nagle算法。如果要求高實(shí)時(shí)性,有數(shù)據(jù)發(fā)送時(shí)就馬上發(fā)送,就將該選項(xiàng)設(shè)置為true關(guān)閉Nagle;如果要減少發(fā)送次數(shù)減少網(wǎng)絡(luò)交互,就設(shè)置為false等累積一定大小后再發(fā)送。默認(rèn)為false。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容