1. ホーム
  2. c

[解決済み】ソケットプログラミングにおけるAF_INETとPF_INETの違いは何ですか?

2022-04-05 08:38:04

質問

ソケットプログラミングにおけるAF_INETとPF_INETの違いは何ですか?

でAF_INETとPF_INETの使い分けに戸惑っています。 socket()bind() .

また、ip-addressを与えるには sin_addr フィールドを使用することができます。

解決方法は?

Beejの有名なネットワーク番組ガイド がいい感じに解説してくれています。

<ブロッククオート

いくつかのドキュメントで、神秘的な "PF_INET" について言及されているのを見かけます。 これは、自然界ではめったに見られない奇妙なエーテルのような獣ですが ここで少し整理しておこう。昔、あるとき あるアドレスファミリ("AF_INET" の "AF" が意味するもの)は、もしかしたら で参照される複数のプロトコルをサポートする可能性があります。 プロトコルファミリー("PF_INET" の "PF" が意味するもの)である。

それはなかったことに。まあいいや。というわけで、正しいのは、AF_INET を使うことです。 struct sockaddr_in と PF_INET を使って socket() を呼び出します。しかし 現実的には、どこでもAF_INETを使うことができます。そして W. Richard Stevensが彼の本でやっていることなので、私もそうすることにします。 をご覧ください。