随笔分类 - 网络编程
摘要:前言 由于http协议为应答模式的连接,无法保持长连接于是引入了websocket套接字长连接概念,能够保持数据持久性的交互;本篇文章将告知读者如何使用netty实现简单的消息推送功能 websocket请求头 GET / HTTP/1.1 Host: 127.0.0.1:8096 Connecti
阅读全文
摘要:一 什么是TCP 粘包拆包 TCP 协议是流数据,流数据的特点就是没有分界线;TCP 会将数据流 缓冲进 缓冲池,缓冲池对数据流进行推送; 缓冲池对数据发送有可能完整的2个包回黏在一起发送,称为粘包 缓冲池中有可能会对数据流进行拆包 发送数据,有可能数据包1中包含数据包2, 数据包2中包含数据包1;
阅读全文
摘要:一 什么是断线重连 断线重连是指由于发生网络故障而导致服务中断的情况,客户端就需要从重新连接服务端;哪些情况下会导致服务断线呢?常见 的就是 网络情况下,断断续续,导致客户端无法和服务端交互,再比如,机房断电也会导致服务宕机;所以在netty中对服务进行断线重连是非常有必要的做的一个流程; 二 ne
阅读全文
摘要:一 什么是心跳检测机制 心跳是指,在TCP长连接中 客户端和服务端定期的互相发送数据包, 这样可以确保服务的正确运行,保证服务在线和TCP长连接的可靠性;通常的心跳实现机制是客户端定期的向服务端发送数据包,服务端接收到数据后进行应答,这样就保证了TCP的长连接;当然也有做法是服务端做心跳,如果客户端
阅读全文
摘要:一 编码解码概念 编码(encode)在程序中其实就是序列化,将对象转为 字节数组,方便于网络传输; 解码(decode)在程序中实际上就是反序列化,将字节数组转为原始对象。 在jdk 自带的序列化机制需要实现 java.io.Serializable接口并生成序列化ID,就可以实现对象的序列化 但
阅读全文
摘要:一 Netty核心组件介绍 1.1、 channel channel 是一个通道,我们通常说其是一个NIO的构造 1.2、回调 回调本质是一个方法,方法中的参数指向另一个方法的引用; 1.3 、Futrure 通知机制,当方法执行结束时会发一个通知消息; 1.4ChannelHandler 通道处理
阅读全文
摘要:一 前言 springboot 如何集成netty实现mapper调用不为null的问题让好多读者都头疼过,知识追寻者发了一点时间做了个基本入门集成应用给读者们指明条正确的集成方式,我相信,只要你有netty入门应用知识和spring框架基本知识,这篇文章对你将收益终身。随手点赞谢谢,如果是知识追寻
阅读全文
摘要: 一 核心要素 1. capacity (容量);不能为负,不可更改;就是buffer的长度(buffer.length) 2. limit (限制);指第一个不可被读入缓冲区元素的位置;不可为负,若position大于limit,那么limit就是position; 3. position (位
阅读全文