ソケット 【socket】 sock
概要
ソケット(socket)とは、受け口、軸受け、接合部、穴、へこみなどの意味を持つ英単語。ITの分野では物理的な接続端子を指す場合と、ソフトウェア間で通信する仕組みを指す場合がある。分野や文脈によっては “sock” と略される場合がある。接続端子のソケット
機械部品について言う場合は、電球の受け口の金具のように、機器に部品を装着するために設けられた凹んだ形状の端子や固定具のことを意味する。IT関連では、電子基板に半導体チップを装着して固定するために設けられた差込口のことをソケットということが多い。
ソケット通信
実行中のプログラム間でデータの送受信を行うための標準的な仕組みの一つに「ソケット」と呼ばれる仕組みがある。UNIX系OSの一種である「BSD」(Barkeley Software Distribution)で最初に用いられたことから「BSDソケット」とも呼ばれる。
特定の通信相手(IPネットワーク上の場合はIPアドレスとポートの組み合わせ)と紐付いた通信端点を「ソケット」と呼び、これをプログラム上に生成して相手方とのコネクションの確立やデータの送受信、切断などの処理を行う。
UNIX系OSでは、ソケットの仕組みを用いて同じコンピュータ上で動作するプロセス間のデータの受け渡し(IPC:プロセス間通信)を行う「UNIXドメインソケット」(IPCソケット)も提供される。これと対比してネットワーク用のソケットのことを「INETドメインソケット」と呼ぶことがある。
簡素なコードで通信を制御できることから様々なプログラミング言語やオペレーティングシステム(OS)に採用されており、ネットワーク通信を行うプログラムが利用する標準的なインターフェースとしてUNIX系以外も含め多くのシステムで広く普及している。
(2024.9.2更新)