socketは、通信をするために必要なソケットを作成するUNIXシステムコール・・・。
ざっくり言うと、インターネットなど他のコンピュータとの通信は、ソケットを作成し相手先に接続をした上で、ソケットへの書き込みや読み込みを通じたデータの送受信によって行われる・・・。
(詳細は、
Geekなぺーじ:ソケットの作成
などを参照のこと・・・。)
今回は、socketでソケットを表す特殊なファイルディスクリプタを作成する・・・。
socketに必要なsys/types.h, sys/socket.h, またcloseに必要なunistd.hもインクルードする・・・。
socketによって作成されたソケットファイルディスクリプタは、socという変数に格納する・・・。
(とりあえず型はintでいい・・・。)
socketでソケットを作成し、socに格納・・・。
AF_INETはインターネット(IPv4)アドレスファミリー・・・。
まあ、「インターネットだよ!」ということ・・・。
(インターネット以外にもさまざまな通信で使えるがここでは省略・・・。)
SOCK_STREAMは、閉じるまで接続しっぱなしで読み書きできる通信(TCP)・・・。
3つ目はプロトコルを指すが、1つ目、2つ目によって、IPv4のTCPと決まってるので、0でいい・・・。
失敗なら-1が返る・・・。
成功したらsocをprintfで出力・・・。
そしてcloseで閉じる・・・。
$ ./socket soc = 3 $
成功したのでsocに3が格納されている・・・。
このsocを使って、通信をしていく・・・。