【发布时间】:2013-11-14 15:06:57
【问题描述】:
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。那么为什么在这种情况下需要两个参数呢?为什么我们不使用单个参数而不是两个?
【问题讨论】:
-
您在一个已删除的问题中询问了有关 C 和数据库的一些问题,但您的问题太不精确以至于它被删除了。请在提问时更加具体和准确。 (例如,至少提到操作系统和实际的数据库软件,如 MySQL 或 PostgreSQL 或 MongoDB 等......)。而上面关于
SOCK_STREAM的问题肯定是缺少Linux或Posix标签,因为标准C99(或C11)不知道sockets!!