質問: インターネットドメインソケットの場合 STREAM→コネクションが必要 DGRAM→コネクション不要 そのため、STREAMは信頼性のあるデータのやり取りができることに対し、 DGRAMはデータ欠如や順番の入れ替えなどがあり得るという認識です。 UNIXドメインソケットの場合なのですが、 UNIXドメインソケットはサーバ内のプロセス間での通信などに使い、 ポートを使用するのではなく、ファイルパスを使ってデータのやりとりができる認識でいます。 その場合、ネットワーク上でデータを送信しませんが、 DGRAMの場合、データ欠如などあり得るのでしょうか?
回答: 仕様上は明記されてませんが、実際の実装ではSTREAMと同じように信頼でき、データ欠如などは無いものと考えてよいのだと思います。 > > UNIX ドメインデータグラムサービスは信頼できます。メッセージを紛失したり異なった順序で配送することはありません。 > > —— 書籍『詳解UNIXプログラミング 第3版』の「17.2 UNIX ドメインソケット」より > > > > > ほとんどの UNIX の実装では、 UNIX ドメインデータグラムソケットは常に信頼でき、 データグラムの並び替えは行わない > > —— Linux Programmer's Manual 「UNIX」 より > > >