![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络
文章平均质量分 76
u014753478
The advance of technology is based on making it fit in so that you don't really even notice it, so it's part of everyday lift.
展开
-
Netty的好处
高并发架构 网络模型:nio非阻塞模型 线程模型:reactor模型 高性能 动态分配byteBuf 网络参数优化:接收缓冲区 发送缓冲区 noDelay 高可靠 网络连接断开 网络链路探查 nioEventLoop线程池(单线程)容错的处理try cacth epoll空轮序的bug tailContext byteBuf内存自动释放 可扩展 pipeline中handler调用链 序列化协议 定制网络通信协议 nio拆包和粘包问题 编码器原创 2021-07-10 17:09:28 · 157 阅读 · 0 评论 -
LINUX网络编程
协议: 一组规则 分层模型结构: OSI(Open System Interconnect): 物,数,网,传,会,表,应 TCP/IP 4层模型: 链,网,传,应 应用层:HTTP,FTP,SSH,TELNET,NFS 传输层:TCP, UDP 网络层: IP, ICMP, IGMP 链路层: 以太网帧协议,ARP 网络传输流程: 数据没有封装以前,是不能在网络中传递 以太网帧协议(链路层): ARP协议:...原创 2021-07-04 21:50:35 · 126 阅读 · 1 评论 -
网络编程七
实现UDP单播和广播 UDP 这样的无连接协议中,并没有持久化连接这样的概念,并且每个消息(一个UDP 数据报)都是一个单独的传输单元。此外,UDP 也没有TCP 的纠错机制。 通过类比,TCP 连接就像打电话,其中一系列的有序消息将会在两个方向上流动。相反,UDP 则类似于往邮箱中投入一叠明信片。你无法知道它们将以何种顺序到达它们的目的地,或者它们是否所有的都能够到达它们的目的地。 UDP的这些方面可能会让你感觉到严重的局限性,但是它们也解释了为何它会比TCP快那么多:所有的握手以及消息管理机制的开原创 2021-06-29 20:57:43 · 148 阅读 · 0 评论 -
网络编程六
解决粘包/半包问题 回顾我们的的Hello,Netty 再讲解一遍,加上注释 什么是TCP粘包半包? 改造程序,客户端发送100遍消息 假设客户端分别发送了两个数据包D1和D2给服务端,由于服务端一次读取到的字节数是不确定的,故可能存在以下4种情况。 (1)服务端分两次读取到了两个独立的数据包,分别是D1和D2,没有粘包和拆包; (2)服务端一次接收到了两个数据包,D1和D2粘合在一起,被称为TCP粘包; (3)服务端分两次读取到了两个数据包,第一次读取到了完整的D1包和D2包的部分内容原创 2021-06-29 20:53:11 · 89 阅读 · 0 评论 -
网络编程五
Netty组件再了解 Channel、EventLoop 和ChannelFuture Netty 网络抽象的代表 Channel—Socket; EventLoop—控制流、多线程处理、并发; ChannelFuture—异步通知。 Channel 接口 基本的I/O 操作(bind()、connect()、read()和write())依赖于底层网络传输所提供的原语。在基于Java 的网络编程中,其基本的构造是class Socket。Netty 的Channel 接口所提供的API,被用原创 2021-06-29 20:50:54 · 1009 阅读 · 0 评论 -
网络编程四
Netty是什么?为什么要用Netty? 为什么要用Netty 1、虽然JAVA NIO框架提供了 多路复用IO的支持,但是并没有提供上层“信息格式”的良好封装。例如前两者并没有提供针对 Protocol Buffer、JSON这些信息格式的封装,但是Netty框架提供了这些数据格式封装(基于责任链模式的编码和解码功能); 2、直接使用NIO需要需要额外的技能,例如Java多线程,网络编程; 3、要编写一个可靠的、易维护的、高性能的NIO服务器应用。除了框架本身要兼容实现各类操作系统的实现外。更重要原创 2021-06-29 20:48:24 · 74 阅读 · 0 评论 -
网络编程二
TCP/IP中的数据包 每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层必要的信息,如发送的目标地址以及协议相关信息。通常,为协议提供的信息为包首部,所要发送的内容为数据。在下一层的角度看,从上一层收到的包全部都被认为是本层的数据。 网络中传输的数据包由两部分组成:一部分是协议所要用到的首部,另一部分是上一层传过来的数据。首部的结构由协议的具体规范详细定义。在数据包的首部,明确标明了协议应该如何读取数据。反过来说,看到首部,也就能够了解该协议必要的信息以及所要处理的数据。 ① .原创 2021-06-29 20:45:56 · 94 阅读 · 0 评论 -
网络编程一
OSI采用了分层的结构化技术,共分为七层,物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。 TCP/IP协议: TCP: TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。 TCP提供的是一种可靠的数据流服务,采用带重传的肯定确认技术来实现传输的可靠性。 TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。 面向连接的服务(例如Telnet、FTP、r..原创 2021-06-27 22:04:41 · 72 阅读 · 0 评论