ネットワークインタフェース

ソケットの作成

socket(3SOCKET) 呼び出しは、指定されたファミリに、指定されたタイプのソケットを作成します。

s = socket(family, type, protocol);
プロトコルが指定されないと (値が 0)、システムは要求されたソケットタイプをサポートするプロトコルを選択します。ソケットハンドル (ファイル記述子) が返されます。

ファミリは、sys/socket.h で定義されている定数の 1 つで指定されます。AF_suite という名前の定数は、表 2-1 に示すように、名前を解釈する場合に使用するアドレス書式を指定します。

表 2-1 プロトコルファミリ

AF_APPLETALK

Apple Computer, Inc. の Appletalk ネットワーク 

AF_INET6

IPv6 と IPv4 用のインターネットファミリ 

AF_INET

IPv4 専用のインターネットファミリ 

AF_PUP

Xerox Corporation の PUP インターネット 

AF_UNIX

Unix ファイルシステム 

ソケットタイプは、sys/socket.h で定義されています。これらのタイプ (SOCK_STREAMSOCK_DGRAM、または SOCK_RAW) は、AF_INET6AF_INET、および AF_UNIX でサポートされます。次の文は、インターネットファミリでストリームソケットを作成します。

s = socket(AF_INET6, SOCK_STREAM, 0);

この呼び出しの結果、基本的な通信を提供する TCP プロトコルを使用したストリームソケットが作成されます。通常は、デフォルトプロトコル (引数 protocol0) を使用してください。「拡張機能」で説明しているように、デフォルト以外のプロトコルも指定できます。