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