日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

netty学习心得1

發(fā)布時(shí)間:2023/10/11 综合教程 127 老码农
生活随笔 收集整理的這篇文章主要介紹了 netty学习心得1 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

也不是系統(tǒng)學(xué)習(xí),工作需求,一點(diǎn)點(diǎn)摳的,需要自己籠統(tǒng)學(xué)習(xí)下。

首先功能實(shí)現(xiàn):

serverBootstrap.group(boss, work).channel(NioServerSocketChannel.class)
.option(ChannelOption.SO_BACKLOG, nettyConfig.getBacklog())
.option(ChannelOption.SO_KEEPALIVE, true)
.option(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT)
// .option(ChannelOption.RCVBUF_ALLOCATOR, AdaptiveRecvByteBufAllocator.DEFAULT)
.childOption(ChannelOption.SO_KEEPALIVE, nettyConfig.isKeepalive())
.childOption(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT)
這幾個(gè)option里對于ALLOCATOR還比較模糊,看了半天資料也沒太明白,周末有時(shí)間還需要細(xì)看
今晚明白了;
NioServerSocketChannel是用于服務(wù)端的,
NioSocketChannel用于client的,
對于ALLOCATOR的四種pool需要更加了解,對于高并發(fā)優(yōu)化,主要是依靠這個(gè)參數(shù)以及RCVBUF_ALLOCATOR;
另在read方法中讀完,需要把buffer給clear不然高并發(fā)下會(huì)發(fā)生內(nèi)存泄漏問題。 粘包問題:基于包長的分包:
LengthFieldBasedFrameDecoder

也可基于關(guān)鍵字分包:
DelimiterBasedFrameDecoder
還有其他分包,再寫,目前工作中遇到的是這兩種,用netty時(shí),就要做好分包,因?yàn)楦卟l(fā)下,粘包是必然發(fā)生的事情,雖然頻率待定,但是必定發(fā)生

https://blog.csdn.net/tjf1314520/article/details/60773991

這是一個(gè)自定義decode的時(shí)候的分配buffer大小問題

主要是調(diào)用ByteBuf heapBuffer = ctx.alloc().heapBuffer(); 的時(shí)候給它分配大小。ByteBuf heapBuffer = ctx.alloc().heapBuffer(readableBytes);

https://blog.csdn.net/a975261294/article/details/80535343

總結(jié)

以上是生活随笔為你收集整理的netty学习心得1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。