読者です 読者をやめる 読者になる 読者になる

socket

socketは、通信をするために必要なソケットを作成するUNIXシステムコール・・・。

Man page of SOCKET

ざっくり言うと、インターネットなど他のコンピュータとの通信は、ソケットを作成し相手先に接続をした上で、ソケットへの書き込みや読み込みを通じたデータの送受信によって行われる・・・。

(詳細は、
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つ目によって、IPv4TCPと決まってるので、0でいい・・・。

失敗なら-1が返る・・・。

成功したらsocをprintfで出力・・・。
そしてcloseで閉じる・・・。

$ ./socket
soc = 3
$

成功したのでsocに3が格納されている・・・。
このsocを使って、通信をしていく・・・。

Sample/socket.c at master · bg1bgst333/Sample · GitHub