基本的にLinux系はsys/socket.h、Windows系はwinsock2.h等を使う。
windows系の場合は、ws2_32.lib(gccなら-lws2_32のオプション追加)を追加する必要があるので注意。
また、上記サイトを試してみたところ、intの宣言不足等、記入漏れが有りそうなので注意。
Linuxの場合は
サーバー側
socket→ソケットの生成
setsockopt→ソケットのオプション
sockaddr_in 構造体.sin_familyの設定→アドレスファミリの指定。通常はAF_INET
sockaddr_in 構造体.sin_addrの設定→htonl(INADDR_ANY)
sockaddr_in 構造体.sin_port→ポート番号設定。htons(ポート番号)
bind→ソケットのバインド
listen→OSに接続を受け付けるように指令する
accept→接続を受ける
close→ソケットを閉じる
クライアント側
getopt→オプション取得
sockaddr_in 構造体.sin_familyの設定→アドレスファミリの指定。通常はAF_INET
getservbyname(サービス変数,サービス名)→サービスのポート番号取得
sockaddr_in 構造体.sin_port→ポート番号設定。htons(ポート番号)
inet_addr(ホスト名)→ホスト名アドレスを文字列表現にする
gethostbyname(ホスト名)→ホスト名からホスト情報取得
socket→ソケットの生成
connect→接続
close→ソケットを閉じる
の流れでソケット接続を行う。
最終更新:2011年04月02日 16:27