Unix ソケットは、他のソケット タイプと同様に使用されます。これは、ソケット システム コールがそれらに使用されることを意味します。FIFO と Unix ソケットの違いは、FIFO はファイル sys 呼び出しを使用するのに対し、Unix ソケットはソケット呼び出しを使用することです。
Unix ソケットはファイルとしてアドレス指定されます。アクセス制御にファイル許可を使用することができます。
Unix ソケットは、socket sys コールによって作成されます (FIFO は mkfifo によって作成されます)。クライアント ソケットが必要な場合は、connect を呼び出し、サーバー ソケット アドレスを渡します。サーバーソケットが必要な場合は、バインドしてそのアドレスを割り当てることができます。一方、FIFO オープン呼び出しには使用されます。IO 操作は読み書きで行います。
Unix ソケットはクライアントを識別できますが、FIFO は識別できません。ピアに関する情報は、accept 呼び出しによって提供され、ピアのアドレスを返します。
Unix ソケットは双方向です。これは、すべての側で読み取りと書き込みの両方の操作を実行できることを意味します。一方、FIFO は単方向です。書き込みピアと読み取りピアがあります。
Unix ソケットは、localhost IP ソケットよりもオーバーヘッドが少なく、通信が高速です。パケットは、localhost ソケットのようにネットワーク スタックを通過する必要はありません。また、ローカルにのみ存在するため、ルーティングはありません。
Unix ソケットがカーネル レベルでどのように機能するかについての詳細が必要な場合は、Linux カーネル ソースの net/unix/af_unix.c ファイルを参照してください。