【Netty】1-1. 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特性:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ladymorgana

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值