java netty socket_Java-彻底弄懂netty-原来netty是这样启动的-知识铺
知識鋪: 致力于打造輕知識點,持續更新每次的知識點較少,閱讀不累。不占太多時間,不停的來喚醒你記憶深處的知識點。
一、捋順netty開啟方式
最簡單開啟一個server nio
開啟具體流程:
1.1 創建兩個NioEventLoopGroup對象
這兩個對象是netty調度模塊,也相對于傳統I/O編程中的大線程組。 mainGroup:監聽端口,創建新連接的線程組。 workerGroup: 處理每條鏈路上的數據讀寫線程組。
mainGroup: 日常例子,一個研發項目主管,他只管接任務,不停的把任務交給助手:
workerGroup:相對于助手,是任務真正實際的操刀手。
1.2 創建serverBootstrap 對象
啟動服務端,需要這個來來啟動,也相對于引導類。
1.3 關聯主線程組和工作線程組
serverBootstrap.group(mainGroup,workerGroup) 這種方式把兩個處理線程組關聯到啟動類上。
1.4 指定服務端IO模型
serverBootstrap.channel(NioServerSocketChannel.class) 這種方式來指定服務端是什么I/O模型,這里選擇的Nio的I/O模型。 如果需要指定為BIO,只需替換為 OioServerSocketChannel.class即可。
1.5 指定服務端連接后續處理器
serverBootstrap.childHandler() 這里添加的是ChannelInitializer 可以定義每條鏈路連接上來后,每條連接的數據讀寫,業務處理邏輯。
serverBootstrap.handler() 這里添加的也是ChannelInitializer ,這里定義的是啟動處理接口。
這里很好說明 handler 與 childHandler 的區別。
還有個泛型參數:NioSocketChannel,這個類是Netty的Nio操作類型的連接。
1.6 bind(8000)
綁定本地端口 8000
總結
以上是生活随笔為你收集整理的java netty socket_Java-彻底弄懂netty-原来netty是这样启动的-知识铺的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谷歌Pixel 7a手机曝光 或将在Go
- 下一篇: java美元兑换,(Java实现) 美元