ソケット通信は、ネットワークプログラミングの基礎となる通信方式で、特に TCP や UDP を扱う際に使われることが多い言葉です。アプリケーションがネットワーク越しにデータをやり取りするための“入り口”として、ソケットという仕組みが用意されています。
ソケットとは
ソケットとは、通信を行うための端点(エンドポイント)を表す概念です。 OS が提供する仕組みで、次の情報をひとまとめに扱います。
- IPアドレス
- ポート番号
- TCP または UDP といったプロトコル
- OS が管理する送受信バッファ
これらをまとめて「通信の入り口」として扱うための抽象的な仕組みがソケットです。 物理的な差し込み口ではなく、OS が作る“仮想的な通信口”と考えると理解しやすいです。
ソケット通信とは
ソケット通信とは、ソケットを使ってデータを送受信する通信方式のことです。 一般的には、次のような TCP/UDP の低レベル通信を指します。
TCPソケット通信
- 接続(connect)が必要
- 双方向で安定したストリーム通信
- 電話のように「つながってから話す」イメージ
UDPソケット通信
- 接続しない(connect は省略可能)
- パケットを送りつけるだけ
- 手紙のように「送りたい相手に送る」イメージ
このように、ソケット通信という言葉は TCP/UDP の通信を扱うときに使われることがほとんどです。
ソケット通信が使われる場面
ソケット通信は、次のような用途でよく利用されます。
- ゲームサーバーやリアルタイム通信
- IoTデバイスとの直接通信
- 独自プロトコルの実装
- 高速・軽量な通信が必要なシステム
HTTP や WebSocket のような高レベルプロトコルは内部で TCP ソケットを使っていますが、アプリケーション開発者が直接ソケットを扱う必要はありません。
ソケットという言葉
ソケットという言葉は OS が提供する「通信端点の概念」なので、広い意味では多くの通信がソケットの上で動いています。 ただ、実務や一般的な文脈では、
「ソケット通信」と言えば TCP/UDP の低レベル通信を指す場合がほとんど
という印象があります。
まとめ

ソケット通信は、OS が提供する ソケットという通信端点を使ってデータをやり取りする方式であり、一般的には TCP/UDP の低レベル通信を指す場合がほとんどです。
ソケットは IP アドレスやポート番号、プロトコルなどをまとめて扱うための仕組みで、アプリケーションがネットワーク越しに直接データを送受信する際の基盤になります。
HTTP や WebSocket のような高レベルプロトコルも内部では TCP ソケットを利用していますが、通常「ソケット通信」という言葉はそれらを含めず、より低レイヤーの TCP/UDP 通信を意味することが多いと感じています。


人気ブログランキング ブログパーツ