ソケットってそもそもなんだ?

ソケット(英: Socket)とは、BSDUNIXを起源とするAPIであり、C言語によるアプリケーション開発でのプロセス間通信、特にコンピュータネットワークに関するライブラリを構成する。BSDソケット、バークレーソケットなどとも呼ばれる。

1983年にリリースされたUNIXオペレーティングシステム(OS) 4.2BSD で初めて API として実装された。ネットワークの抽象化インタフェースとしてのデファクトスタンダードとなっている。本来のソケットAPIC言語を対象とするが、他のプログラミング言語でも類似のインタフェースを採用しているものが多い。

http://ja.wikipedia.org/wiki/%E3%82%BD%E3%82%B1%E3%83%83%E3%83%88_(BSD)

BSDソケットは、ホスト間の通信や1つのコンピュータ上のプロセス間の通信を可能とする。通信媒体としては様々な入出力機器やデバイスドライバを利用可能だが、その部分はオペレーティングシステムの実装に依存する。このインタフェース実装はTCP/IPを利用する場合にはほぼ必ず必要とされ、インターネットを支える基盤技術の一つとなっている。当初、カリフォルニア大学バークレー校でUNIX向けに開発された。最近の全てのオペレーティングシステムには間違いなくBSDソケットが何らかの形で実装されており、インターネットへの接続の標準インタフェースとなっている。

http://ja.wikipedia.org/wiki/%E3%82%BD%E3%82%B1%E3%83%83%E3%83%88_(BSD)

ということみたいです。


TCP/IPでのクライアント接続は下記のように行う。

  1. socket()でソケットを作成
  2. connect() でサーバに接続
  3. send()とrecv()、またはwrite()とread()で通信を行う
  4. close()で接続を切断

socket()の扱いかたはすでに勉強したので、次はconnect()について勉強したい。