
网络编程
文章平均质量分 56
Oxye
我们都有选择权
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java 发送HTTP请求,在TCP报文中添加自定义头部
研究了一下HttpClient、RestTemplate没能做到我需要的修改tcp报文的扩展点,拦截器之类测试不行,所以通过修改源码处理。目的是想在TCP头部之后、HTTP头部之前,添加自定义的报文内容,供被调用方识别自定义内容做业务处理。前提又不想修改原先的HTTP调用代码,使用的是httpclient。原创 2024-03-30 09:55:29 · 480 阅读 · 0 评论 -
Netty的客户端使用Socks5代理,netty-handler-proxy源码浅析
一个netty代理服务,里面有netty服务端ServerBootstrap接收外部客户端连接,netty客户端Bootstrap去连接外部服务端,但代理服务和服务端网络不一定可达,所以netty的客户端有时候就需要连一个跳板机去转发报文到外部服务。这个跳板机也是netty实现的socks代理服务器,搭建流程可参考此文netty系列之:从零到壹,搭建一个SOCKS代理服务器注意,所以这篇讲的是netty服务里的客户端Bootstrap,怎么走到socks代理服务器。原创 2023-03-31 18:07:45 · 2876 阅读 · 1 评论 -
JAVA实现HTTP接口代理,支持视频等大文件代理下载
避免将外部系统的视频等资源文件的地址暴露给用户,一种思路是使用http代理。没有使用netty实现http代理,可以使用更简单的一段代码进行代理,代理接口收到的请求可以进行鉴权等操作。要求是支持视频的下载,代理服务不对文件进行临时下载,直接把文件流交给浏览器。暂时实现的只有get请求代理,其他类型请求自行修改吧。原创 2023-03-30 15:09:33 · 1307 阅读 · 0 评论 -
Netty:解决粘包、半包问题,实现ByteToMessageDecoder解码器分包
开发时使用netty的解码器解析协议报文时,出现StringIndexOutOfBoundsException报错,debug发现是协议头总长度和当次读取的数据总长度不一致,看来是遇到半包问题了,所以通过下面的代码解决,供参考。核心手段是使用ByteBuf 的markReaderIndex、resetReaderIndex来控制对ByteBuf对象的读取,长度不够就攒着,够了就读走想要的部分。我们约定协议的byte数组结构为 3位长度+1位id+对应长度的数据。原创 2023-03-20 15:17:43 · 1379 阅读 · 0 评论 -
Apache SSHD服务端:ssh2、sftp 登录验证超时时间、连接断开超时时间
通过ssh2、sftp协议连接基于Apache MINA SSHD的服务时,长时间不用连接会自动断开,我们来看一下默认断开时间和如何修改断开时间。原创 2023-02-22 17:36:06 · 3102 阅读 · 0 评论 -
Java中的byte & 0xff到底有什么作用?
byte & 0xff 是将byte从(-128 至 127)转化成 int(转化后的数值范围: 0 至 255)。其实就是1个byte有两种表示方法,我们既可以用-128 - 127这段范围来表示一个字节,也可以用 0 - 255这个范围的数来表示一个字节。转载 2022-11-24 11:24:54 · 1896 阅读 · 0 评论