ホームに戻る
出典 :
関連 :
目次 :
ソケット(TCP)
プロセス間通信の一つで、TCP/IPを用いた通信方法、およびTCP/IPネットワークとプログラムの界面をソケットと呼ぶ。
このため、TCP/IPを用いたHTTPプロトコルもソケットに分類される。
通信相手との間にコネクションを確立するため、データを確実に伝送できる。
TCP/IPネットワークを介したリモートコンピュータとの通信が主用途であるが、同一コンピュータ内(ローカル)での通信も可能である。
また、コネクションを確立しないUDPプロトコルも存在するが、詳細は割愛する。
通信の概略
接続要求を発行する側のプロセスは「クライアント」、受け入れる側のプロセスは「サーバ」と規定される。

サーバ、クライアント双方でソケットを生成( create )し、それぞれにIPアドレスとポート番号を割り当てる( bind )。
サーバは生成したソケットをコネクションのlistenに使用するための利用登録を行い( listen )、クライアントからの接続要求を待機する( accept )。
accept はクライアントからの接続要求が到達するまで(サーバの)処理をブロックする。
クライアントは接続先のソケットを指定して接続要求を発行( connect )する。
connect による接続要求が到達すると、accept は処理を戻し、コネクションが確立する。
以後、必要に応じてデータの送受信を行い、役目を終えた段階でソケットを閉じる( close )。