Netty
文章平均质量分 63
Oxye
我们都有选择权
展开
-
Netty的客户端使用Socks5代理,netty-handler-proxy源码浅析
一个netty代理服务,里面有netty服务端ServerBootstrap接收外部客户端连接,netty客户端Bootstrap去连接外部服务端,但代理服务和服务端网络不一定可达,所以netty的客户端有时候就需要连一个跳板机去转发报文到外部服务。这个跳板机也是netty实现的socks代理服务器,搭建流程可参考此文netty系列之:从零到壹,搭建一个SOCKS代理服务器注意,所以这篇讲的是netty服务里的客户端Bootstrap,怎么走到socks代理服务器。原创 2023-03-31 18:07:45 · 2756 阅读 · 1 评论 -
Netty:解决粘包、半包问题,实现ByteToMessageDecoder解码器分包
开发时使用netty的解码器解析协议报文时,出现StringIndexOutOfBoundsException报错,debug发现是协议头总长度和当次读取的数据总长度不一致,看来是遇到半包问题了,所以通过下面的代码解决,供参考。核心手段是使用ByteBuf 的markReaderIndex、resetReaderIndex来控制对ByteBuf对象的读取,长度不够就攒着,够了就读走想要的部分。我们约定协议的byte数组结构为 3位长度+1位id+对应长度的数据。原创 2023-03-20 15:17:43 · 1324 阅读 · 0 评论
分享