1
int socket(int domain, int type, int protocol);

私が理解したように、

int domain;

このパラメータは、アドレス ファミリまたはプロトコル ファミリを渡すために使用されます。アドレス ファミリとプロトコル ファミリの間に大きな違いはないと思います。これを使用して、アドレス タイプ (IPv4 または IPv6) を指定します。

int type;

このパラメーターは、ネットワーク層の UDP、TCP などの接続タイプに使用されます。

int protocol;

このパラメータは、TCP、UDP などのプロトコルを指定するために使用されます。

そして私の質問は

2番目と3番目のパラメータの違いは何ですか? TCP プロトコルを使用するSOCK_STREAM場合は を使用し、UDP プロトコルを使用する場合はSOCK_DGRAMin 2 番目のパラメーターを使用します。では、この場合、なぜ 2 つのパラメーターが必要なのでしょうか? 2 つではなく 1 つのパラメーターを使用しないのはなぜですか?

4

1 に答える 1