天天看點

java nio 網絡架構實作(轉)簡單聊天例子serverclient源碼實作過程

maven項目

<a href="https://github.com/solq360/common">https://github.com/solq360/common</a>

鍊式編/解碼

鍊路層鍊式處理

管道管理socket

多協定處理非常友善

仿netty NioEventLoop 單線程串行處理

========

侍加功能 :

自動化編/解碼

rpc 接口增強使用

TestNioServer

TestNioClient

傳統方式連接配接

伺服器方式連接配接

由 多個 ICoder 輸入/輸出轉換處理

CoderParser 類組裝多個 ICoder

編/碼處理器 注意優先級

nio read -&gt; packageCoder -&gt; link coders -&gt; handle

handle write -&gt; link coders -&gt; packageCoder -&gt; nio write

由 ICoderParserManager 管理調用處理

其中核心

decode

encode

半包/帖包處理 : AbstractISocketChannel doRead方法摘要,根據解碼傳回的狀态做處理。

半包:當不是完成狀态時,繼續解碼,從最後一次包索引開始處理

帖包:當完成包解碼移動包索引,等侍下輪解碼處理

<a href="http://www.cnblogs.com/solq/p/4585496.html">http://www.cnblogs.com/solq/p/4585496.html</a>