星巡研究院

渗透视角下的C语言

监听侧走 `sys/socket.h`:`socket`(x86-64 系统调用号 41,创建套接字 —— 内核中代表一条通信端点的对象,对外表现为文件描述符 —— 并返回该描述符)、`bind`(49,把套接字绑定到本地地址与端口)、`listen`(50,置为被动监听状态并设定待处理连接队列)、`accept`(43,从监听队列取出一个入站连接,返回新的已连接描述符)。上游侧 `connect`(42,主动发起三次握手建立连接)。字节搬运走 `unistd.h` 的 `read`(0,从描述符读字节)、`write`(1,向描述符写字节),结束时 `close`(3,释放描述符)。两侧就绪通知由 `sys/select.h` 的 `select` 完成(见上册第 20 章),它只通知哪一侧描述符就绪,不参与收发、不改写数据。见上册第 3 章、第 20 章。
这是进阶内容

升级理论包获取本册全部章节,从机器本质系统入门