注:本文基于 2.6.32 版本的内核
概述
上一篇 文章中说明了使用 socket()
函数创建一个 socket 在内核中
的处理流程。再经过一些来到处理之后,返回 socket 的文件描述符。通常应用程序下一步
调用的函数就是 bind()
比如:
1 | bind(server_fd, (struct sockaddr*)&server_address, server_len); |
那么这一条语句在内核中到处理又是如何呢?我们将在这篇博文中进行分析。和上一篇文章 一样,这篇文章不打算过多的分析代码,而是从总体结构上给出一个较为宏观的图解分析。