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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Netty通信原理

發布時間:2025/3/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Netty通信原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Netty

基于Java框架NIO,進行通信
是一個異步事件驅動的,網絡應用程序框架

用于快速開發可維護的高性能協議服務器和客戶端
極大地簡化了TCP和UDP套接字服務器等網絡編程

Dubbo底層通信

使用的netty框架,進行通信

實現原理

基于NIO的多路復用模型,來實現通信

啟動過程

Netty服務器啟動
會綁定監聽某一個端口
比如,dubbo的20880端口

此時,所有給監聽端口,發送的數據
Netty服務器都可以收到

啟動之后,初始化服務器通道
通道初始化完成,會注冊到selector中

Selector,就是一個多路復用器
這個Selector,負責監聽channel通道的Accept事件

Accept事件,表示通道接收數據,準備就緒
準備就緒之后,會處理通道中的數據

處理請求

此時,Netty與客戶端建立連接
生成NioSocketChannel,與客戶端建立連接的通道

把這個通道,注冊到selector中
這個selector,負責監聽Read、Write事件

Read,通道中,數據讀準備就緒
表示請求發送的數據,接收完成,可以讀取了

Write,通道中,數據寫準備就緒
表示可以給客戶端通道中,寫響應數據了

讀準備就緒,會執行一個任務
寫準備就緒,會執行一個任務
這些任務,都會拋送給任務隊列

Netty負責,執行任務隊列中的所有任務
監聽,Accept也會生成任務隊列
接收準備就緒,會執行一個任務

這些任務,也會拋送給任務隊列來執行
整個任務隊列,處理完成
Netty就結束了

線程組

Boss線程組
用來監聽主線程
監聽來自于監聽端口的,所有連接的準備就緒事件
Accept事件

Worker線程組
用于當Accept準備就緒以后,需要處理的工作
這些需要處理的工作,都會拋送給Worker
Worker會處理這些工作

總結

以上是生活随笔為你收集整理的Netty通信原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。