编程基础知识

本文详细解析了TCP协议中的三次握手和四次挥手的过程。三次握手用于建立连接,确保客户端与服务器都能正确接收对方的数据。四次挥手则是在连接结束时,允许双方在关闭连接前完成所有数据的传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.TCP协议中的三次握手和四次挥手

(TCP连接时全双工的,每个方向都必须单向进行关闭)

关闭连接时可能有数据还需要传递,所以需要四次挥手.而建立连接就没有此过程.

三次握手:


client发送连接请求报文,server接受连接后回复ACK报文,并为此连接分配资源.

client收到ACK报文后,向server发出ACK报文,并为此连接分配资源.这样TCP连接就建立了.

四次挥手:

client发起中断连接请求,就是发送FIN报文(client已经没有数据要发送,server可以关闭socket,也可以继续发送数据).
server收到FIN报文后发出ACK(告诉client,你的请求我收到了,但是我没有准备好,请继续等我消息),client进入FIN_WAIT状态继续等待server端的FIN报文.
当server端确认数据已经发送完毕后,向client发送FIN报文(我这边的数据已经发送完成,准备关闭连接).
client收到FIN报文后,向server发送ACK后进入TIME_WAIT状态,server收到ACK后就知道可以断开连接.client等待2sml后没有收到回复就证明server已经关闭连接,client也可以关闭连接.

Java基础教程课件 Java知识整理 1 把编写好的Java源文件保存起来,原文件的扩展名必须是_________ 用JDK编译Java源程序,使用的命令是_______,编译源¬¬¬¬文件得到字节码文件。 Java源程序编译后生成的字节码文件扩展名为________ 2 一个Java源程序是有若干个_____组成。_____是Java的关键字,用来定义类。 3 Java应用程序中有多个类,Java命令后的类名必须是包含了_____方法的那个类的名字。 4 一个Java应用程序必须且只有一个类含有_____方法 5 在一个Java应用程序中main方法必须被说明为_______________________ 6 Java 中所有程序都使用方法,应用程序以_______方法开始 7 Java源文件中有多个类,但只能有一个类是_________类 8 Java源程序编译后生成的字节码文件扩展名为___________ 9 用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为________ 10 Java语言规定标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是__________ 11 ________就是Java语言中已经被赋予特定意义的一些单词,不可以把这类词作为名字来用 12 使用关键字_______来定义逻辑变量 13 ________就是Java语言中已经被赋予特定意义的一些单词 14 结构化程序设计的基本数据类型包括_________、__________、____________、_____________。 15 Java中byte型数组在内存中的存储形式是________ 16 对于int变量,内存分配____个字节 17 对于byte变量,内存分配____个字节 18 对于long变量,内存分配____个字节 19 对于short变量,内存分配____个字节 20 结构化程序设计的基本数据类型包括_______、逻辑类型、字符类型、浮点类型 21 使用关键字________来定义字符变量 22 结构化程序设计的基本数据类型包括_______、逻辑类型、整数类型、浮点类型 23 Java中,浮点型变量的类型有float和_________两种 24 对于float型变量,内存分配_______个字节 25 对于double型变量,内存分配_______个字节 26结构化程序设计的基本数据类型包括_______、逻辑类型、整数类型、字符类型 27 Java使用____________字符集 28 混合运算中不同类型的数据先转化为同一类型,然后运算,其中不包括__________和字符类型 29 混合运算中不同类型的数据先转化为同一类型,然后运算,其中不包括__________、逻辑类型 30 当把级别高的变量的值赋予级别低的变量时,必须使用______________转换 31 Java中关系运算符的运算结果是___________型 32 Java中逻辑运算符的操作元必须是________________型数据 33 整数类型数据在内存中以_______________的方式表示 34 Java语言的控制语句有3种类型,即________________、________________和转移语句 35 Java中有两种类型的控制语句即if和_______________ 36 Java语言的控制语句有3种类型,即________________、循环语句和转移语句 37 Java中的语句可分为方法______________、__________________、_________________、______________和package语句和______________语句 38 Java中的语句可分为方法调用语句、表达式语句、复合语句、控制语句、package语句和______________语句 39 在同一个switch语句中,case后的________必须互不相同. 40 do-while循环和while循环的区别是__________________________________________ 41 在循环体中,如果想结束本次循环可以用_______________语句 42 在循环体中,如果想跳出循环,结束整个循环
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值