netty入门netty服务端和客户端开发服务端主流程123456789101112131415161718192021222324// 配置服务端Reactor线程组// 一个用于服务端接受客户端的连接EventLoopGroup bossGroup = new NioEventLoopGroup();// 用于进行SocketChannel的网络读写EventLoopGroup workerG...
Continue reading
TCP粘包拆包问题TCP粘包/拆包TCP粘包/拆包问题说明假设客户端分别发送了两个数据包Dl和D2给服务端,由于服务端一次读取到的字节数是不确定的,故可能存在以下5种情况。
服务端分两次读取到了两个独立的数据包,分别是D1和D2,没有粘包和拆包
服务端一次接收到了两个数据包,D1和D2粘合在一起,被称为TCP粘包
服务端分两次读取到了两个数据包,第一次读取到了完整的D1包和D2包的部分内容,...
Continue reading
Continue reading
解码器LineBasedFrameDecoderLineBasedFrameDecoder的工作原理足它依次遍历ByteBuf中的可读字节,判断看是否有“\n”或者“\r\n”,如果有,就以此位置为结束位置,从可读索引到结束位置区间的字节就组成了一行。它是以换行符为结束标志的解码器,支持携带结束符或者不携带结束符两种解码方式,同时支持配置单行的最大长度。如果连续读取到最大长度后仍然没有发现换行符,...
Continue reading
Continue reading