摘要:接 netty(六)WebSocket实践 在netty(六)WebSocket实践中第2点,有对运行期修改pipeline的思路 我们借用之,使之在本例中使用,运行期判断是否是websocket,如果是,升级握手,添加websocket handler,如果不是,添加http handler ht
阅读全文
摘要:用简书对上一篇实践 1 手动postman 1.1 no cookie https://www.jianshu.com/bookmarks <!DOCTYPE html> <!--[if IE 6]> <html class="ie lt-ie8"> <![endif]--> <!--[if IE
阅读全文
摘要:在netty(五)http服务的基础上,结合java http client https做一个http反向代理服务器 1 项目背景:用iframe嵌入某网站页面,难点有二: 1.1 对方response header启用X-Frame-Options:SAMEORIGIN,导致不能被iframe嵌入
阅读全文
摘要:在 netty channel的线程安全性与@Sharable 中讨论了ChannelInitializer,Pipeline,@Shareable,本质就2点: 1)ChannelInitializer可以实现每个连接创建一个pipeline,而且pipeline内的handler,每个连接都能有
阅读全文
摘要:在netty粘包(一)消息定长 实践中,netty出现沾包,用了FixedLengthFrameDecoder(14)解决沾包,本次将FixedLengthFrameDecoder(14)干掉,然后抓包看是什么原因导致沾包,是客户端搞在一起了,还是服务端没有及时取走导致沾包 server: serv
阅读全文
摘要:Kettle http —— Netty http +自定义包扫描+自定义注解+json Java遍历包中所有类方法注解。2019年8月 牛人榜—— Netty http +自定义包扫描+自定义注解+pb 无博客 tws trade——netty http + spring + spring类注解-
阅读全文
摘要:本次作实践,序列号承接 netty(十三)protobuf + 心跳 1 对称加密AES 服务端 客户端 AES算法,服务端、客户端两端使用同样的加密、解密handler netty编码的顺序为: pb encoder-aesencoder-tcp粘拆包 netty解码的顺序为: tcp粘拆包-ae
阅读全文
摘要:理论: https://www.cnblogs.com/silyvin/p/9469754.html client 与后端之间同样要建立心跳,之所以由proxy发起到后端的tcp连接而不是反过来,是因为保持后端的独立性 参考:https://blog.csdn.net/admin1973/artic
阅读全文
摘要:本次作实践,序列号承接 netty(十三)netty 心跳 with protobuf 一个信任服务集合mapThread,表示人认为的后端服务列表,一个可用服务集合setAvailableServers,表示后端实际可用也在用的服务集合 mapThread >= setAvailableServe
阅读全文
摘要:理论模型:https://www.cnblogs.com/silyvin/p/9605033.html 本次作实践,序列号承接 netty(十一)protobuf 客户端: 需要Read和Write idle都设置,因为我们的心跳是由客户端主动发送的 30s主动发送一次心跳,61s未收到任何消息(含
阅读全文
摘要:使用反射与注解 类级别注解使用spring的 方法级别注解自定义 调用
阅读全文
摘要:背景: 服务端迭代,需要兼容旧版客户端 新版客户端服务端通信数据结果变化 在上一篇的基础上,修改部分服务端代码: 与此前对比,干掉Optional的Type和map,新增一个newField,序列号为4 这个新的proto,编译后放在服务端,客户端用旧版,双方通信,模拟看结果 解码器和接收handl
阅读全文
摘要:msg.proto protoc-3.6.1-osx-x86_64/bin/protoc --proto_path ./ --java_out ./ msg.proto 服务端输出: 客户端输出: 笔记: 1 protobuf编译器与maven应一致,本例为3.6.1 2 proto2不支持map,
阅读全文
摘要:[ERROR] 2018-09-13 10:57:45 523 [io.netty.util.ResourceLeakDetector] [nioEventLoopGroup-5-1] (Slf4JLogger.java:171) -> LEAK: ByteBuf.release() was not
阅读全文
摘要:在 tcp心跳模型, TCP新手误区–心跳的意义 与 netty(六)WebSocket实践 的基础上: 主要修改: TextWebSocketFrameHandler文件: WebSocketServerInitializer文件: 前端: 实践: 2台服务器,A放前端 B放后端 客户端发4次心跳
阅读全文
摘要:https://www.cnblogs.com/silyvin/p/9593368.html 本文验证了channel属于同一个线程的理论,建议不在handler中阻塞当前线程 客户端: 先说现象: 服务端每隔1s收到消息并打印,同时发回消息 客户端一次打印服务端发回的10条消息 解析: 客户端激活
阅读全文
摘要:public class WebSocketServerInitializer extends ChannelInitializer<SocketChannel> { @Override public void initChannel(SocketChannel ch) throws Excepti
阅读全文
摘要:总体思路: pipline总线: 这个handler接收HttpRequestDecoder传送而来的FullHttpRequest,截取content部分byte(http body),反序列化为json字符串和json对象,传给下一个handler,如果参数不合法,则直接出站 主业务处理hand
阅读全文