ソケットとは何ですか?
ソケットは、コンピューターで実行されているプログラム間、または別々のコンピューターで実行されているプログラム間のプロセス間通信を可能にする方法です。 ネットワークソケットを介して通信するプログラムは、通常、インターネットプロトコル(IP)を使用してデータを送受信します。
ソケットにはさまざまな種類があります。 最も一般的なものは次のとおりです。
-
ストリームソケット:伝送制御プロトコル(TCP)を使用して、データストリームの信頼性の高い配信をカプセル化および保証します。
-
データグラムソケット:システム間に永続的な接続を確立する必要なしに、ユーザーデータグラムプロトコル(UDP)を使用してデータグラムを送信します。
-
Unixドメインソケット:ネットワークインターフェイスやIPパケットの代わりに、ローカルファイルを使用してデータを送受信します。
-
Rawソケット:アプリケーションがホストオペレーティングシステムに依存する代わりにパケットを作成および変更できるようにします。
システム上の各IPベースのソケットは一意であり、 IPアドレス、ソケットが使用しているプロトコル(TCPまたはUDP)、および数値[ X178X]ポート番号。これは、オペレーティングシステムによってソケットを使用しているアプリケーションにマップされます。 Unixドメインソケットは、ソケットに関連付けられているローカルファイルを使用してソケットを一意に識別します。
ソケットの詳細、およびソケットの調査とトラブルシューティングの方法については、ソケットについてチュートリアルをお読みください。
Linuxシステムでソケットを実装および使用する方法の詳細については、 socket(7)のマニュアルページおよび関連するマニュアルページを参照してください。