ソケットプログラミングを始めていますが、私はこれを見て続けていますAF_INET
。しかし、私はその場所で使われているものは見たことがありません。私の講師はそれほど役に立ちません。ちょうど「あなたはただ必要です」と言います。だから私の質問:AF_INETとは何ですか、なぜそれが必要なのですか?
AF_INET
の目的は何ですか?- これの代わりに他の何かが使用されていますか?
- そうでない場合は、それはなぜですか?将来の可能性のある変更については?
- もしそうなら、何と、なぜですか?
ソケットプログラミングを始めていますが、私はこれを見て続けていますAF_INET
。しかし、私はその場所で使われているものは見たことがありません。私の講師はそれほど役に立ちません。ちょうど「あなたはただ必要です」と言います。だから私の質問:AF_INETとは何ですか、なぜそれが必要なのですか?
AF_INET
の目的は何ですか?AF_INET
は、ソケットが通信できるアドレスのタイプ(この場合はインターネットプロトコルv4アドレス)を指定するために使用されるアドレスファミリです。ソケットを作成するときには、そのアドレスファミリを指定する必要があります。ソケットを使用してそのタイプのアドレスしか使用できません。たとえば、Linuxカーネルは、UNIX(AF_UNIX
)ソケットやIPX(AF_IPX
)などの29種類のアドレスファミリをサポートしており、IRDAとBluetooth(AF_IRDA
とAF_BLUETOOTH
)との通信もサポートしていますが、レベル)。
ほとんどの場合、ネットワークを介したソケットプログラミングのためにAF_INET
を貼っておくのが最も安全な方法です。インターネットプロトコルv6アドレス用のAF_INET6
もあります。
希望すると、
AF_INETの主な目的は、他の可能なネットワークプロトコルまたはアドレスファミリーを可能にすることであった(AFは、アドレスファミリのためのものである。PF_INETは(IPv4)のインターネット・プロトコル・ファミリのためのものです)。たとえば、おそらくNetware SPX/IPXネットワークがまだあります。 DECNet、StarLAN、SNAのような他のネットワークシステムもありました.ISO OSI(Open Systems Interconnection)はもちろんのこと、ネットワーク接続におけるピアホストを識別するために、今や遍在するIPアドレスを必ずしも使用していませんでした。
IPv6アドレスファミリでは、AF_INETの代わりにAF_INET6(AF_INET4という名前にする必要があります)がAF_INET6です。 IPv4は32ビットのアドレスを使用します。 IPv6は128ビットのアドレスを使用します。
他の値が表示されることがありますが、それは珍しいことです。それは選択肢と将来の方向性を可能にするためです。実際にソケットインターフェイスは非常に一般的です。これは、他のネットワーキングインターフェイスが枯渇した理由の1つです。
人生は(ほとんど)簡単になりました - 感謝しています。
ソケットはドメイン、タイプ、およびトランスポートプロトコルによって特徴付けられます。一般的なドメインは、次のとおりです。
AF_UNIX:アドレス形式は、ホストとポート番号
です(使用することができ、他の多くのオプションが実際にあります。アドレス形式は
AF_INET UNIXパス名であります特別な目的のためにここに)。通常、我々はソケットプログラミングのためにAF_INETを使用
あなたはAF_UNIXまたはAF_INETのような引数を使用して、IPCソケット通信を実現するために使用されるだろう対処するソケットのタイプを指定する必要があります。 AFはアドレスファミリを表します。
次のように(Pythonのソケットモジュールに採用)BSD標準ソケットにアドレスが示されているとおり
単一列はAF_UNIX/AF_LOCALアドレスファミリのために使用されます。このオプションは、IPアドレスが不要なローカルマシン上のIPCに使用されます。
AF_INETアドレスファミリには(host、port)が使用されます.hostは、 'daring.cwi.nl'のようなインターネットドメイン表記のホスト名または '100.50.200.5'のようなIPv4アドレスを表す文字列です'、およびportは整数です。インターネット上のプロセス間で通信するために使用されます。
AF_UNIX、AF_INET6、AF_NETLINK、AF_TIPC、AF_CAN、AF_BLUETOOTH、AF_PACKET、AF_RDS代わりAF_INETを使用することができる他の選択肢です。
このthread about the differences between AF_INET and PF_INETも有用です。
プロトコルファミリを定義します。これは、作成されるソケットのタイプを決定します。 ポケットPCサポートAF_INET。私は私の最初の質問に対するあなたの答えは、その目的に使用するかをネットワークプロトコルを定義することであるということであると推測しています -
次のページの内容はあなたの応答のための http://etutorials.org/Programming/Pocket+pc+network+programming/Chapter+1.+Winsock/Streaming+TCP+Sockets/
おかげでかなりまともなのですか?あなたは他の質問についてもっと具体的にしてください。 – Smashery
AF_INET6についての良い点;他のアドレスファミリはいくつかのOSでサポートされています。 – MarkR