Netty
从BIO、NIO到netty使用,再到企业项目开发。
想回家种地的程序员
这个作者很懒,什么都没留下…
展开
-
「Netty系列」使用Netty开发,踩坑到解决全过程(附解决方案源码)
周五没事干,对之前文章进行整理下。来到现公司已经有半年时间。从当初对网络编程的懵懵懂懂,到现在使用Netty对服务端开发完成并上线。今天这篇文章总结下在这个过程困扰我的最多点--“TCP协议进行通信,出现粘包和拆包”。使用TCP协议通信一定会出现粘包和拆包?为什么加上固定包头就可以解决粘包和拆包?首先我们先分析下,什么情况下会出现粘包?是TCP通信都有可能出现粘包?来通过一个Demo模拟下TCP协议通信,一起分析下粘包出现的可能性。来来来!1.1 实例不出现粘包1.1.1 代码实现客户原创 2020-12-22 16:34:51 · 1015 阅读 · 1 评论 -
「Netty系列」彻底弄清网络七层协议、TCP/IP、IP、TCP(Netty前置一)
目前工作中使用Netty进行服务端开发,在实践中有自己一点点心得。接下来分享Netty系列文章。在学习Netty之前先了解下网络基础知识、分清网络七层协议、TCP/IP协议族、IP、TCP各代表什么含义。一 基础1.1 概述1 网络分层中的IOS七层模型、TCP/IP协议族、TCP、IP,这些有什么不同2 TCP协议通信过程中的三次握手和四次挥手到底是什么流程?1.2 软件架构在生活中,我们经常用QQ、微信、百度云盘、Goole、IE浏览器、火狐浏览器......。可以总结为两大类,c原创 2020-12-21 16:22:03 · 936 阅读 · 0 评论 -
「Netty系列」使用wireshark对网络通信扑捉,进行三次握手和四次挥手原理分析(Netty前置二)
正常下班,文章走起。在网络的通信的时候,都有听说过三次握手四次挥手。但是对其原理是否清晰?本篇文章通过使用wireshark对网络通信扑捉,进行原理分析。1BIO代码实现//服务端代码publicclassServerSocket{publicstaticvoidmain(String[]args)throwsException{//创建ServerSocket对象,用于客户端的连接java.net.ServerSo...原创 2020-12-21 16:25:00 · 371 阅读 · 0 评论 -
「Netty系列」一文熟悉NIO(Netty前置三)
正常下班,文章走起。通过前面几篇文章对网络基础知识和网络编程有了认识。接下来这篇文章表述和Netty更加息息相关的知识-NIO。每天学习一小时,期待质变来临。NIO又称为非阻塞IO,是JDK1.4提出的新的IO模型。01NIO组件基本介绍1 Buffer概述(缓冲区)按照物理分区:直接缓冲区和堆字节缓冲区。Buffer模式:写模式和读模式。2Buffer执行原理分析三个属性(Buffer的三个属性)capacity(容量)、position(位置)、limit(限...原创 2020-12-21 16:25:36 · 182 阅读 · 0 评论 -
「Netty系列」带你深入刨析Netty运用IO模型和Reactor模型
周五咯,今天上班主要实现多个服务端如何通信,如何实现每个服务端部署多台。运维不在没法安装Redis,下周继续这块功能实现。继续不加班,文章走起。前面几篇文章讲述了Netty前置知识,接下来正式介绍Netty。我们都知道Netty基于NIO实现的,但是相对NIO有什么好处呢?从IO模型和Reactor模型来刨析Netty。一 概述接下来就要接触Netty了,我们先对Netty有一个简单的认识,看下面介绍。1.1 初步了解Netty Netty是什么? Netty是一个高性能的、异.原创 2020-12-21 21:00:21 · 289 阅读 · 0 评论 -
「Netty系列」从实战开始,带你深入了解Netty各个组件和ByteBuf
上文对IO模型和Reactor模型进行讲解,是不是感觉有点懵懵的。哈哈哈,反正我并没有对其有深入见解。我是这样安慰自己的,知识在不断的反复学习和思考中有新的感悟。不气馁,继续新的征程。本篇文章想来从实战开始,带我深入了解Netty各个组件是做什么?ByteBuf执行原理又是怎样的?一 第一个Netty实例用Netty实现通信。说白了就是客户端向服务端发消息,服务端接收消息并给客户端响应。所以我来看看服务端和客户端是如何实现的?1.1 服务端1. 依赖<?xmlversi..原创 2020-12-21 20:55:07 · 418 阅读 · 0 评论 -
「Netty系列」介绍下Netty中常用的编码器和解码器
周末 文章走起。前面文章介绍Netty相关知识点。接下来将介绍下在通信过程中用的编码器和解码器。这里会不会联想到谍战戏里面。发送情报者怕情报泄露,所以对情报行加密然后传给接收者。接收者对情报进行解密,得到情报。这里讲的编码器和解码器是和情报传递很相似?一起查看这篇文章,来揭秘!!!一 编解码器1.1 什么叫编解码器在网络传输的过程中,数据都是以字节流的方式进行传递。客户端在向服务端发送数据的时候,将业务中其他类型数据转化为字节,叫编码。服务端接收到数据为字节流,将字节流转化为原来的格式,叫解.原创 2020-12-21 21:04:55 · 1255 阅读 · 0 评论 -
「Netty系列」TCP通信过程中遇到粘包拆包解决全过程
周末了,文章继续。在使用TCP协议进行通信时,听到最多的也就是粘包和拆包问题。本文就来看看,如何解决粘包和拆包问题。 一 TCP的粘包/拆包的问题以及解决在解决TCP粘包和拆包,我们先看看一种思想。来看看读取一个Int数据的Demo,体会下这种思想。1.1 ReplayingDecoder1. 自定义解码器,从ByteBuf读取一个Int。(重点,一定要看懂这段代码)publicclassIntegerHeaderFrameDecoderextendsByteToMe...原创 2020-12-21 21:10:56 · 353 阅读 · 1 评论