03 2015 档案

摘要:处理原理:半包:即一条消息底层分几次发送,先有个头包读取整条消息的长度,当不满足长度时,将消息临时缓存起来,直到满足长度再解码粘包:两条完整/不完整消息粘在一起,一般是解码完上一条消息,然后再判断是否有剩余字节,有的话缓存起来,循环半包处理客户端接收代码: private void callR... 阅读全文
posted @ 2015-03-05 14:29 solq 阅读(23924) 评论(7) 推荐(2) 编辑
摘要:public class SocketAsyncEventArgsPool{ //已使用记录 private List usedRecord; //未使用记录 private List unUsedRecord; //池子... 阅读全文
posted @ 2015-03-03 18:02 solq 阅读(7346) 评论(0) 推荐(1) 编辑
摘要:1.Heap Buffer(堆缓冲区)2.Direct Buffer(直接缓冲区)3.Composite Buffer(复合缓冲区)4.PooledByteBuf 池缓冲 readerInex 当前读取索引 writerIndex 当前写索引 0~readerInex 之间被视为 ... 阅读全文
posted @ 2015-03-02 17:59 solq 阅读(2236) 评论(0) 推荐(0) 编辑
摘要:ByteToMessageDecoder 1.socket 移除时触发,最后次读数据处理 @Override public final void handlerRemoved(ChannelHandlerContext ctx... 阅读全文
posted @ 2015-03-02 11:52 solq 阅读(7671) 评论(0) 推荐(0) 编辑
摘要:1.LineBasedFrameDecoder 1.先找到结束符索引 private static int findEndOfLine(final ByteBuf buffer) { final int n = buffer.writerIn... 阅读全文
posted @ 2015-03-01 17:16 solq 阅读(10596) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示