ServerBootstrap b = new ServerBootstrap();
b.option(ChannelOption.SO_BACKLOG, 1024);//這里我們需要關(guān)注ChannelOption類
//用于指定是否使用對(duì)象池,一般使用默認(rèn),即不用配置。詳情見(jiàn):ByteBufAllocator
ChannelOption<ByteBufAllocator> ALLOCATOR = valueOf("ALLOCATOR");
//Channel接受Buffer的分配器,默認(rèn)值為AdaptiveRecvByteBufAllocator.DEFAULT。可選值為FixedRecvByteBufAllocator,固定大小的接受緩沖區(qū)分配器。
ChannelOption<RecvByteBufAllocator> RCVBUF_ALLOCATOR = valueOf("RCVBUF_ALLOCATOR");
//消息大小估算器
ChannelOption<MessageSizeEstimator> MESSAGE_SIZE_ESTIMATOR = valueOf("MESSAGE_SIZE_ESTIMATOR");
//netty的client鏈接server的超時(shí)時(shí)間。
ChannelOption<Integer> CONNECT_TIMEOUT_MILLIS = valueOf("CONNECT_TIMEOUT_MILLIS");
//一次Loop讀取的最大消息數(shù)
ChannelOption<Integer> MAX_MESSAGES_PER_READ = valueOf("MAX_MESSAGES_PER_READ");
//一個(gè)Loop寫(xiě)操作執(zhí)行的最大次數(shù),默認(rèn)值為16。也就是說(shuō),對(duì)于大數(shù)據(jù)量的寫(xiě)操作至多進(jìn)行16次,如果16次仍沒(méi)有全部寫(xiě)完數(shù)據(jù),
//此時(shí)會(huì)提交一個(gè)新的寫(xiě)任務(wù)給EventLoop,任務(wù)將在下次調(diào)度繼續(xù)執(zhí)行。
//這樣,其他的寫(xiě)請(qǐng)求才能被響應(yīng)不會(huì)因?yàn)閱蝹€(gè)大數(shù)據(jù)量寫(xiě)請(qǐng)求而耽誤。
ChannelOption<Integer> WRITE_SPIN_COUNT = valueOf("WRITE_SPIN_COUNT");
ChannelOption<Integer> WRITE_BUFFER_HIGH_WATER_MARK = valueOf("WRITE_BUFFER_HIGH_WATER_MARK");
ChannelOption<Integer> WRITE_BUFFER_LOW_WATER_MARK = valueOf("WRITE_BUFFER_LOW_WATER_MARK");
//一個(gè)連接的遠(yuǎn)端關(guān)閉時(shí)本地端是否關(guān)閉,默認(rèn)值為False。值為False時(shí),連接自動(dòng)關(guān)閉;為True時(shí),觸發(fā)ChannelInboundHandler的userEventTriggered()方法,事件為ChannelInputShutdownEvent。
ChannelOption<Boolean> ALLOW_HALF_CLOSURE = valueOf("ALLOW_HALF_CLOSURE");
ChannelOption<Boolean> AUTO_READ = valueOf("AUTO_READ");
ChannelOption<Boolean> AUTO_CLOSE = valueOf("AUTO_CLOSE");
ChannelOption<Boolean> SO_BROADCAST = valueOf("SO_BROADCAST");
ChannelOption<Boolean> SO_KEEPALIVE = valueOf("SO_KEEPALIVE");
ChannelOption<Integer> SO_SNDBUF = valueOf("SO_SNDBUF");
ChannelOption<Integer> SO_RCVBUF = valueOf("SO_RCVBUF");
ChannelOption<Boolean> SO_REUSEADDR = valueOf("SO_REUSEADDR");
ChannelOption<Integer> SO_LINGER = valueOf("SO_LINGER");
ChannelOption<Integer> SO_BACKLOG = valueOf("SO_BACKLOG");
ChannelOption<Integer> SO_TIMEOUT = valueOf("SO_TIMEOUT");
ChannelOption<Integer> IP_TOS = valueOf("IP_TOS");
ChannelOption<InetAddress> IP_MULTICAST_ADDR = valueOf("IP_MULTICAST_ADDR");
ChannelOption<NetworkInterface> IP_MULTICAST_IF = valueOf("IP_MULTICAST_IF");
ChannelOption<Integer> IP_MULTICAST_TTL = valueOf("IP_MULTICAST_TTL");
ChannelOption<Boolean> IP_MULTICAST_LOOP_DISABLED = valueOf("IP_MULTICAST_LOOP_DISABLED");
ChannelOption<Boolean> TCP_NODELAY = valueOf("TCP_NODELAY");
@Deprecated
ChannelOption<Long> AIO_READ_TIMEOUT = valueOf("AIO_READ_TIMEOUT");
@Deprecated
ChannelOption<Long> AIO_WRITE_TIMEOUT = valueOf("AIO_WRITE_TIMEOUT");
@Deprecated
ChannelOption<Boolean> DATAGRAM_CHANNEL_ACTIVE_ON_REGISTRATION = valueOf("DATAGRAM_CHANNEL_ACTIVE_ON_REGISTRATION");
ChannelOption<Boolean> SINGLE_EVENTEXECUTOR_PER_GROUP = valueOf("SINGLE_EVENTEXECUTOR_PER_GROUP");
netty的網(wǎng)絡(luò)配置
?著作權(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ù)。
【社區(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)容
- NettyServerHandler NettyServer NettyClientHandler NettyCl...
- netty雖然可以實(shí)現(xiàn)聊天室的功能。但完整的做下來(lái),還是要自己去封裝很多東西,尤其是客戶端和服務(wù)器通信的數(shù)據(jù)格式,...
- 為什么第一篇是聊天室,聊天室是最容易實(shí)現(xiàn)的部分。也是IM結(jié)構(gòu)最簡(jiǎn)單的一部分,其次作單聊和群聊,業(yè)務(wù)邏輯層層遞增,但...
- 我聞到了太陽(yáng)的味道! 這句話聽(tīng)起來(lái)是多么的熟悉啊。 我的兒子曾經(jīng)不止一次的對(duì)我說(shuō):“媽媽,我們家的被子是香噴噴的啊...
- 我體驗(yàn)的是“什么值得買”這個(gè)app 1、該app解決什么問(wèn)題,有什么創(chuàng)新的做法用截圖和文字說(shuō)明 該app解決了用戶...