ソケットタイプには、ユーザーが認識できる通信プロパティーを定義します。インターネットファミリソケットは、TCP/IP トランスポートプロトコルへのアクセスを提供します。インターネットファミリは、IPv6 と IPv4 の両方で通信可能なソケットの場合に、値 AF_INET6 によって識別されます。以前のアプリケーションとのソース互換性および IPv4 への raw アクセスのために、値 AF_INET もサポートされています。
次に、SunOS 環境がサポートする 4 つのタイプのソケットを示します。
「ストリームソケット」は、TCP を使用したプロセスの通信を可能にします。ストリームソケットは、信頼性の高い、順序付けされた、重複のない双方向データフローをレコード境界なしで提供します。コネクションが確立されたあと、これらのソケットからのデータの読み取り、およびこれらのソケットに対するデータの書き込みがバイトストリームとして行えます。ソケットタイプは SOCK_STREAM
です。
「データグラムソケット」は、UDP を使用したプロセスの通信を可能にします。データグラムソケットは、メッセージの双方向フローをサポートします。データグラムソケット側のプロセスは、送信シーケンスとは異なる順序でメッセージを受信することがあります。また、データグラムソケット側のプロセスは、重複したメッセージを受信することがあります。データグラムソケットで送信されるメッセージは、失われる場合があります。データ内のレコード境界は保持されます。ソケットタイプは SOCK_DGRAM
です。
「raw ソケット」は、ICMP へのアクセスを提供します。raw ソケットは、ネットワーキングスタックによって直接サポートされない IP ベースのほかのプロトコルへのアクセスも提供します。このタイプのソケットは、通常、データグラム型ですが、実際の特性はプロトコルが提供するインタフェースに依存します。raw ソケットは、ほとんどのアプリケーションには使用されません。raw ソケットは、新しい通信プロトコルの開発をサポートしたり、既存プロトコルの難解な機能にアクセスしたりするために提供されています。raw ソケットを使用できるのは、スーパーユーザープロセスだけです。ソケットタイプは SOCK_RAW
です。
「SEQ ソケット」は、1 対 N のストリーム制御伝送プロトコル (Stream Control Transmission Protocol、SCTP) コネクションをサポートします。SCTP の詳細は、「Stream Control Transmission Protocol (SCTP)」で説明しています。
詳細については、「特定のプロトコルの選択」を参照してください。