int socket(int domain, int type, int protocol);
据我了解,
int domain;
该参数用于传递地址族或协议族。我相信地址族和协议族之间没有重大区别。我们使用它来指定地址类型(IPV4 或 IPv6)。
int type;
该参数用于网络层的UDP、TCP等连接类型。
int protocol;
该参数用于指定 TCP、UDP 等协议。
我的问题是
第二个参数和第三个参数有什么区别?如果我们使用 TCP 协议,我们将使用SOCK_STREAM
,如果我们使用 UDP 协议,我们将使用SOCK_DGRAM
in 2nd 参数。那么为什么在这种情况下需要两个参数呢?为什么我们不使用单个参数而不是两个?