プログラミングインタフェース

ソケットの概要

ソケットは、1981 年以降の SunOS リリースの必須部分になっています。ソケットは、名前をバインドできる通信の終端です。ソケットにはタイプがあり、関連プロセスが 1 つ存在します。ソケットは、次のようなプロセス間通信のためのクライアントサーバーモデルを実装するために設計されました。

ソケットは、UNIX ファイルのように動作し、ネットワークプロトコルが使用できるようにします。アプリケーションは、必要に応じてソケットを作成します。ソケットは、close(2)read(2)write(2)ioctl(2)、および fcntl(2) インタフェースとともに動作します。オペレーティングシステムは、ファイルのファイル記述子とソケットのファイル記述子を区別します。

ソケットライブラリ

ソケットインタフェースルーチンは、アプリケーションとリンクが必要なライブラリ内に存在します。ライブラリ libsocket.so が、その他のシステムサービスライブラリとともに /usr/lib に含まれています。libsocket.so は動的リンクに使用されます。

ソケットタイプ

ソケットタイプには、ユーザーが認識できる通信プロパティーを定義します。インターネットファミリソケットは、TCP/IP トランスポートプロトコルへのアクセスを提供します。インターネットファミリは、IPv6 と IPv4 の両方で通信可能なソケットの場合に、値 AF_INET6 によって識別されます。以前のアプリケーションとのソース互換性および IPv4 への raw アクセスのために、値 AF_INET もサポートされています。

次に、SunOS 環境がサポートする 4 つのタイプのソケットを示します。

詳細については、「特定のプロトコルの選択」を参照してください。

インタフェースセット

SunOS 5.10 プラットフォームは 2 つのソケットインタフェースセットを提供します。BSD ソケットインタフェース、および XNS 5 (Unix03) ( SunOS バージョン 5.7 以降) ソケットインタフェースです。XNS 5 インタフェースは、BSD インタフェースとわずかに異なります。

XNS 5 ソケットインタフェースについては、次のマニュアルページを参照してください。

従来の BSD ソケットの動作については、対応する 3N のマニュアルページを参照してください。さらに、マニュアルページのセクション 3N には、次のような新しいインタフェースが追加されました。

XNS 5 (Unix03) ソケットインタフェースを使用するアプリケーションを構築する方法については、standards(5) のマニュアルページを参照してください。