linux 中经常看到的socket.h头文件主要有两个
#include <linux/socket.h>
#include <sys/socket.h>
<linux/socket.h>是kernel层的在kernel\include\linux目录下,包含了socket相关的一些宏定义和结构体定义。
<sys/socket.h>是用户层的,包含了socket相关的函数(比如socket、bind、sendto之类的函数)。
所以在kernel层想要调用socket函数进行收发TCP/UDP包是不可能的,kernel层调用不了<sys/socket.h>