• 【Netty】1-2. TCP通信与Netty基本介绍


    Hi,小伙伴们;在学习Netty高性能通信框架之前,我们先来一起回顾一下TCP的基础理论。

    1. Socket基础概念:

    • Socket又称“套接字”,应用程序通常通过“套接字”向网络发出请求或者应答网络请求Socket、ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,不因为在服务器端或在客户端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过Socketlmpl类及其子类完成的。
    • 套接字之间的连接过程可以分为四个步骤:
    1. 服务器监听;
    2. 客户端请求服务器;
    3. 服务器确认;
    4. 客户端确认,进行通信。

    经常在面试的时候,都会被问到TCP的基础问题:什么是三次握手,四次挥手(对于建立连接和断开连接),为什么需要三次握手,为什么需要四次挥手(这些次数是怎么来的)?如下图,在建立连接的时候进行3次握手

    2. 连接时三次握手,断开时四次挥手详情

    3.Netty简介

    我们为为什么选择Netty?

            原因无他,简单!

    • 我们再也不必去编写复杂的代码逻辑去实现通信,我们再也不需要去考虑性能问题,不需要考虑编解码问题,半包读写问题等,这些强大的Netty已经帮我们实现好了,我们只需要使用即可!
    • Netty是也就最流行的NIO框架,他的健壮性、功能、性能、可定制性和可扩展性在同类框架都是首屈一指的。它已经得到成百上千的商业商用项目验证,如Hadoop的RPC框架Avro、以及我们之后学习的JMS框架|
    • 强大的RocketMQ、还有主流的分布式通信框架Dubbo等等;
    • Netty是一个NIO client-server(客户端服务器)框架,使用Netty可以快速开发网络应用,例如服务器和客户端协议。Ntty提供了一种新的方式来使开发网络应用程序,这种新的方式使得它很容易使用和有很强的扩展性。Netty的内部实现是很复杂的,但是Netty提供了简单易用的api从网络处理代码中解耦业务逻辑。Netty是完全基于NIO实现的,所以整个Netty都是异步的。
    • Netty架构图:

    •  Netty特性:

  • 相关阅读:
    Mathematica强制将函数的自变量由符号转为数值
    四、RocketMQ发送普通消息、批量消息和延迟消息
    氮化镓(GaN)功率半导体之预测
    【Linux】Ubuntu20.04 无法访问 http://cn.archive.ubuntu.com 问题记录解决
    SQL server解决乱码问题
    Vue
    iOS 开发中上传 IPA 文件的方法(无需 Mac 电脑)
    【Overload游戏引擎分析】UBO与SSBO的封装
    Spire.PDF for .NET【文档操作】演示:动态创建 PDF 并将其发送到客户端浏览器
    Spring框架学习-AOP操作-JdbcTemplate(概念和准备)-9
  • 原文地址:https://blog.csdn.net/ladymorgana/article/details/126826983