Java面试中,如何阐述TCP连接及其优化策略?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1642个文字,预计阅读时间需要7分钟。
前言:作为一名后端程序员,网络连接是绕不过去的坎。当你在做服务器优化的时候,网络优化也是其中一环。那么,作为网络连接中最基础的部分——TCP连接,你了解吗?今天我们来聊聊它。
TCP连接:你了解吗?
前言
作为一个后端程序员,网络连接这块是一个绕不过的砍,当你在做服务器优化的时候,网络优化也是其中一环,那么作为网络连接中最基础的部分-TCP连接你了解吗?今天我们来仔细看看这个部分。
TCP建立连接-三次握手
详解
- 客户端和服务器还未建立连接,但服务器一般处于listen状态
- 客户端主动建立连接,向服务器发送SYN报文,客户端变为SYN_SENT状态
- 服务器收到客户端发送的报文,也回了一个SYN报文,包含了一个ack。此时,服务器变为SYN_RCVD状态
- 客户端收到了服务器发送的SYN报文,确认了ack,它将向服务器发送一个ACK报文。此时,客户端变为ESTABLISHED
- 服务器收到客户端的ACK报文,确认了ack。此时,服务器也变为ESTABLISHED
- 服务器和客户端可以正常通信了
其中步骤2~4就是三次握手,那么为什么需要三次握手呢?为什么不是一次或者两次握手呢?
首先,我们需要知道,只有当服务器和客户端都能确保自己能够发消息和接收消息,这次网络通信才算成功的。
步骤2的作用是让服务器知道了自己是可以接收消息的。
本文共计1642个文字,预计阅读时间需要7分钟。
前言:作为一名后端程序员,网络连接是绕不过去的坎。当你在做服务器优化的时候,网络优化也是其中一环。那么,作为网络连接中最基础的部分——TCP连接,你了解吗?今天我们来聊聊它。
TCP连接:你了解吗?
前言
作为一个后端程序员,网络连接这块是一个绕不过的砍,当你在做服务器优化的时候,网络优化也是其中一环,那么作为网络连接中最基础的部分-TCP连接你了解吗?今天我们来仔细看看这个部分。
TCP建立连接-三次握手
详解
- 客户端和服务器还未建立连接,但服务器一般处于listen状态
- 客户端主动建立连接,向服务器发送SYN报文,客户端变为SYN_SENT状态
- 服务器收到客户端发送的报文,也回了一个SYN报文,包含了一个ack。此时,服务器变为SYN_RCVD状态
- 客户端收到了服务器发送的SYN报文,确认了ack,它将向服务器发送一个ACK报文。此时,客户端变为ESTABLISHED
- 服务器收到客户端的ACK报文,确认了ack。此时,服务器也变为ESTABLISHED
- 服务器和客户端可以正常通信了
其中步骤2~4就是三次握手,那么为什么需要三次握手呢?为什么不是一次或者两次握手呢?
首先,我们需要知道,只有当服务器和客户端都能确保自己能够发消息和接收消息,这次网络通信才算成功的。
步骤2的作用是让服务器知道了自己是可以接收消息的。

