参考:https://blog.csdn.net/armlinuxww/article/details/92803381
准备接收数据
1、socket,bind,listen,accept
2、recv,将线程从就绪队列放入等待队列,并将线程引用放入socket的等待列表
接收到数据
1、网口传输
2、网卡接收到数据
3、网卡通过硬件传输将数据写入内存
4、通知CPU执行中断程序
5、cpu中断正在执行的进程,去处理网络数据
6、根据端口号匹配到socket,将内存中的数据写入socket的接收缓冲区
7、将socket等待列表中的线程唤醒,并且recv返回接收缓冲区的数据
8、线程继续执行