Android 基於Netty的訊息推送方案之概念和工作原理(二)
Android 基於Netty的訊息推送方案之概念和工作原理(二)
上一篇文章中我講述了關於訊息推送的方案以及一個基於Netty實現的一個簡單的Hello World,為了更好的理解Hello World中的程式碼,今天我來講解一下關於Netty中一些概念和工作原理的內容,如果你覺得本篇文章有些枯燥,請先去閱讀《Android 基於Netty的訊息推送方案之Hello World(一)》
ChannelEvent
Netty是基於事件驅動的,就是我們上文提到的,發生什麼事,就通知"有關部門"。所以,不難理解,我們自己的業務程式碼中,一定有跟這些事件相關的處理。在樣例程式碼,我們處理的事件,就是channelConnected。以後,我們還會處理更多的事件。
ChannelPipeline
管道,傳輸途徑。它控制ChannelEvent事件分發和傳遞的。事件在管道中流轉,就是用這個ChannelPipeline處理的。比如:開發事件。先給A設計,然後給B開發。一個流轉圖,希望能給你更直觀的感覺。
管道流轉圖:
ChannelHandler
剛說Pipeline負責把事件分發到相應的站點,站點在Netty裡就是指ChannelHandler。事件到了ChannelHandler這裡,就要被具體的進行處理了,我們的樣例程式碼裡,實現的就是這樣一個處理事件的“站點”,也就是說,你自己的業務邏輯一般都是從這裡開始的。
Channel
channel,能夠告訴你當前通道的狀態,是連同還是關閉。獲取通道相關的配置資訊。得到Pipeline等。是一些全域性的資訊。Channel自然是由ChannelFactory產生的。Channel的實現型別,決定了你這個通道是同步的還是非同步的(nio)。例如,我們樣例裡用的是NioServerSocketChannel。
如果你有興趣,請繼續瞭解Netty《Android 基於Netty的訊息推送方案之字串的接收和傳送(三)》
相關文章
- Android 基於Netty的訊息推送方案之Hello World(一)AndroidNetty
- Android 基於Netty的訊息推送方案之字串的接收和傳送(三)AndroidNetty字串
- Android之訊息推送原理Android
- JavaScript 工作原理之九-網頁訊息推送通知機制JavaScript網頁
- 淺談iOS和Android後臺實時訊息推送的原理和區別iOSAndroid
- PHP基於Redis訊息佇列實現的訊息推送的方法PHPRedis佇列
- 基於 Hyperf 實現 RabbitMQ + WebSocket 訊息推送MQWeb
- 實時訊息推送方案-SSE
- uni-app訊息推送方案APP
- iOS推送系列之Push的工作原理iOS
- 基於Netty的Android系統IM簡單實現原理NettyAndroid
- Knative 實戰:基於 Kafka 實現訊息推送Kafka
- Android 訊息推送:第三方訊息推送平臺 詳細解析Android
- 基於可靠訊息方案的分散式事務(二):Java中的事務分散式Java
- 基於workerman實現的web訊息推送站內信功能Web
- netty系列之:netty對http2訊息的封裝NettyHTTP封裝
- Android Handler訊息傳遞機制:圖文解析工作原理Android
- PHP轉Go系列 | ThinkPHP與Gin框架之打造基於WebSocket技術的訊息推送中心PHPGo框架Web
- 造輪子之訊息實時推送
- Android 之訊息機制Android
- Netty 中的訊息解析和編解碼器Netty
- 如何使用Netty技術設計一個百萬級的訊息推送系統Netty
- 基於可靠訊息方案的分散式事務:Lottor介紹分散式
- Netty之DefaultAttributeMap與AttributeKey的機制和原理Netty
- 訊息推送背後的思考
- 微信雲託管 WebSocket 實戰:基於模版實現訊息推送Web
- Android Handler MessageQueue Looper 訊息機制原理AndroidOOP
- 7種 實現web實時訊息推送的方案,7種!Web
- 分散式訊息通訊Kafka(二) - 原理分析分散式Kafka
- 分散式事務解決方案(二)【基於可靠訊息的最終一致性】分散式
- Android程式間通訊,AIDL工作原理AndroidAI
- 基於fusion的DirectFB訊息流
- 基於Netty實現海量接入的推送服務技術要點Netty
- 訊息推送平臺終於要上線啦!
- 訊息推送平臺終於要釋出啦!
- Android 長連線初體驗(基於netty)AndroidNetty
- 個推百億級訊息推送的優先順序解決方案
- Android View 的工作原理AndroidView