1

sys / socket.hからのsocketpair(intファミリ、intタイプ、intプロトコル、int * sockfd)。

unpは、ファミリはAF_LOCALであり、プロトコルは0である必要があると述べています。それでは、なぜインターフェイスにそのようなパラメータが必要なのですか?なぜそれをsocketpair(int type、int * sockfd)として単純化してみませんか?

ここには物語があるに違いないと思いますが、理由はわかりません。

話をしてくれてありがとう;)

4

1 に答える 1

1

「AF_LOCAL」(または _UNIX) というステートメントは、現在、 socketpair()を実装する唯一のプロトコルであることをお読みください。

インターフェースは汎用的で、他のタイプのソケットの実装を提供できます。たとえば、localhost IP を使用して相互に接続された 2 つのソケットを作成することにより、AF_INET のサポートを実装することはそれほど難しくありません。唯一の落とし穴は、それを実際に使用することはほとんどないということです. ローカル接続には Unix ソケットの方が優れており、既存の socketpair API を変更するのは非常に面倒です。

于 2013-07-11T00:01:56.500 に答える