一 socket网络编程
socket 基本操作函数 bind、listen、connect、accept、recv、send、select、close
说明: 本文需要'C语言'、'syscall系统调用'、'OS 操作系统'支持,如果不了解可以暂时'跳过'
备注: 知道对应'库函数'的更'底层'机制
思考: socket函数与'FIN'、'ACK'等特殊TCP包的关系,'如何'触发的呢?
① 针对 TCP 应该如何 Socket 编程?
1、'图谱'
2、socket编程对应'函数'的作用
② listen 时候参数 backlog 的意义?
1、Linux内核中会'维护'两个队列
2、 'listen' 函数
③ accept 发生在三次握手的哪一步?
1、客户端 'connect' 成功返回是在'第二次'握手
2、服务端 'accept' 成功返回是在'三次握手成功之后'
④ 客户端调用 close 了,连接是断开的流程是什么?
分析: 客户端'主动调用了 close',会'发生'什么?
⑤ 没有 accept,能建立 TCP 连接吗?
没有accept 能建立TCP连接
⑥ 没有 listen,能建立 TCP 连接吗?
说明: '了解'即可
服务端没有 listen,客户端发起连接建立,会发生什么?