天天看点

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>