首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
java面试题基础
冒泡排序算法
插入排序算法
归并排序算法
二叉树排序算法
基数排序
选择排序
堆排序
快排
TCP-三次握手
HTTP协议
WebSocket
Mysql架构
Innodb与Myisam数据库引擎
事务隔离级别
面向对象(OOP)
异常
泛型
Object
StringBuilder
代理
注解
java面试题基础二
HashMap
ConcurrentHashMap
BlockingQueue
线程
Volatile
AtomicInteger
Synchronized
Java虚拟机架构
类加载器
内存模型
垃圾回收
Mybatis面试题
IOC
高并发系统设计
分布式缓存
分布式锁
分布式事务
消息队列
当前位置:
首页>>
技术小册>>
Java面试指南
小册名称:Java面试指南
### TCP三次握手 TCP协议的三次握手是在客户端和服务器之间建立可靠连接的过程。以下是三次握手过程的详细步骤: 客户端向服务器发送SYN包。在这个包中,标志位为SYN,表示请求建立连接;序号为Seq=x(x一般取随机数)。 服务器接收到客户端发来的SYN包后,对该包进行确认后结束LISTEN阶段,并返回一段TCP报文,其中标志位为SYN和ACK,表示确认客户端的报文Seq序号有效,服务器能正常接收客户端发送的数据,并同意创建新连接;序号为Seq=y。 客户端再次向服务器发送一段确认报文ACK,其中确认号为Ack=y+1。 完成以上三步后,客户端和服务器之间的TCP连接就被成功建立,双方可以开始进行数据的传输。 需要注意的是,TCP三次握手过程的目的是确保双方的连接是可靠的。在握手过程中,客户端和服务器都需要向对方发送确认消息,以确保连接建立成功。同时,TCP还会使用随机数生成器来产生初始序列号,以防止连接被攻击。 总结,TCP协议的三次握手是一种非常重要的连接建立过程,可以确保双方建立的连接是可靠的并且可以正常通信。 ------------ ### TCP四次挥手 TCP协议的四次挥手是指在断开一个TCP连接时,需要客户端和服务端总共发送四个包以确认连接的断开。在全双工的TCP连接中,每个方向都必须单独进行关闭。当一方完成数据发送任务后,发送一个FIN来终止这一方向的连接,收到一个FIN只是意味着这一方向上没有数据流动了,即不会再收到数据了,但是在这个TCP连接上仍然能够发送数据,直到这一方向也发送了FIN。首先进行关闭的一方将执行主动关闭,而另一方则执行被动关闭。 下面是TCP协议四次挥手的具体过程: 客户端发送一个FIN包,表示数据发送完成。 服务端收到FIN包后,发送一个ACK包,表示收到了客户端的关闭请求。 服务端发送一个FIN包,表示服务端的数据发送完成。 客户端收到服务端的FIN包后,发送一个ACK包,表示收到了服务端的关闭请求。 完成这四个步骤后,TCP连接将被彻底关闭。需要注意的是,四次挥手过程中可能会出现延迟的情况,因此,关闭连接的一方需要在发送最后一个ACK包后,等待一段时间,以确保对方接收到了该包并能够正确关闭连接。
上一篇:
快排
下一篇:
HTTP协议
该分类下的相关小册推荐:
Java语言基础3-流程控制
SpringBoot零基础到实战
深入拆解 Java 虚拟机
Java并发编程
Java必知必会-Maven高级
Java语言基础12-网络编程
Java语言基础16-JDK8 新特性
手把手带你学习SpringBoot-零基础到实战
Mybatis合辑5-注解、扩展、SQL构建
Java语言基础9-常用API和常见算法
Java语言基础14-枚举和注解
Java语言基础13-类的加载和反射