Concept
- 为何偏偏要用三次握手?
- 条件:网络上的两端进行TCP可信通信,那么双方必须确认对方都有收发包的能力
- 为了达到上述目的,计算机之间采用发握手报文来进行判断。
- C->S SYN,说明C有发包能力
- S->C SYN+ACK,说明S有接收和发送的能力
- C->S ACK,说明C有收包的能力
为什么不用四次甚至五次以上的握手?
listen的backlog队列作用体现在哪里?
- accept在三次握手中对应具体的收发包动作是什么?
- 客户端在connect前调用bind的话,每次发包会是固定端口吗?
- 如果设置为80、443这样的端口,会不会有迷惑性?但是我们能够控制客户端连接的端口吗?
- 创建socket标识符时候的domain和sockaddr_in中的sin_family有什么异同?