sys / socket.hからのsocketpair(intファミリ、intタイプ、intプロトコル、int * sockfd)。
unpは、ファミリはAF_LOCALであり、プロトコルは0である必要があると述べています。それでは、なぜインターフェイスにそのようなパラメータが必要なのですか?なぜそれをsocketpair(int type、int * sockfd)として単純化してみませんか?
ここには物語があるに違いないと思いますが、理由はわかりません。
話をしてくれてありがとう;)
「AF_LOCAL」(または _UNIX) というステートメントは、現在、 socketpair()を実装する唯一のプロトコルであることをお読みください。
インターフェースは汎用的で、他のタイプのソケットの実装を提供できます。たとえば、localhost IP を使用して相互に接続された 2 つのソケットを作成することにより、AF_INET のサポートを実装することはそれほど難しくありません。唯一の落とし穴は、それを実際に使用することはほとんどないということです. ローカル接続には Unix ソケットの方が優れており、既存の socketpair API を変更するのは非常に面倒です。