网络
文章平均质量分 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 · 149 阅读 · 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 · 117 阅读 · 1 评论 -
网络编程七
实现UDP单播和广播UDP 这样的无连接协议中,并没有持久化连接这样的概念,并且每个消息(一个UDP 数据报)都是一个单独的传输单元。此外,UDP 也没有TCP 的纠错机制。通过类比,TCP 连接就像打电话,其中一系列的有序消息将会在两个方向上流动。相反,UDP 则类似于往邮箱中投入一叠明信片。你无法知道它们将以何种顺序到达它们的目的地,或者它们是否所有的都能够到达它们的目的地。UDP的这些方面可能会让你感觉到严重的局限性,但是它们也解释了为何它会比TCP快那么多:所有的握手以及消息管理机制的开原创 2021-06-29 20:57:43 · 136 阅读 · 0 评论 -
网络编程六
解决粘包/半包问题回顾我们的的Hello,Netty再讲解一遍,加上注释什么是TCP粘包半包?改造程序,客户端发送100遍消息假设客户端分别发送了两个数据包D1和D2给服务端,由于服务端一次读取到的字节数是不确定的,故可能存在以下4种情况。(1)服务端分两次读取到了两个独立的数据包,分别是D1和D2,没有粘包和拆包;(2)服务端一次接收到了两个数据包,D1和D2粘合在一起,被称为TCP粘包;(3)服务端分两次读取到了两个数据包,第一次读取到了完整的D1包和D2包的部分内容原创 2021-06-29 20:53:11 · 76 阅读 · 0 评论 -
网络编程五
Netty组件再了解Channel、EventLoop 和ChannelFutureNetty 网络抽象的代表Channel—Socket;EventLoop—控制流、多线程处理、并发;ChannelFuture—异步通知。Channel 接口基本的I/O 操作(bind()、connect()、read()和write())依赖于底层网络传输所提供的原语。在基于Java 的网络编程中,其基本的构造是class Socket。Netty 的Channel 接口所提供的API,被用原创 2021-06-29 20:50:54 · 922 阅读 · 0 评论 -
网络编程四
Netty是什么?为什么要用Netty?为什么要用Netty1、虽然JAVA NIO框架提供了 多路复用IO的支持,但是并没有提供上层“信息格式”的良好封装。例如前两者并没有提供针对 Protocol Buffer、JSON这些信息格式的封装,但是Netty框架提供了这些数据格式封装(基于责任链模式的编码和解码功能);2、直接使用NIO需要需要额外的技能,例如Java多线程,网络编程;3、要编写一个可靠的、易维护的、高性能的NIO服务器应用。除了框架本身要兼容实现各类操作系统的实现外。更重要原创 2021-06-29 20:48:24 · 65 阅读 · 0 评论 -
网络编程二
TCP/IP中的数据包每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层必要的信息,如发送的目标地址以及协议相关信息。通常,为协议提供的信息为包首部,所要发送的内容为数据。在下一层的角度看,从上一层收到的包全部都被认为是本层的数据。网络中传输的数据包由两部分组成:一部分是协议所要用到的首部,另一部分是上一层传过来的数据。首部的结构由协议的具体规范详细定义。在数据包的首部,明确标明了协议应该如何读取数据。反过来说,看到首部,也就能够了解该协议必要的信息以及所要处理的数据。 ① .原创 2021-06-29 20:45:56 · 85 阅读 · 0 评论 -
网络编程一
OSI采用了分层的结构化技术,共分为七层,物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。TCP/IP协议:TCP:TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。TCP提供的是一种可靠的数据流服务,采用带重传的肯定确认技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。面向连接的服务(例如Telnet、FTP、r..原创 2021-06-27 22:04:41 · 68 阅读 · 0 评论