sockaddr_in構造体
=================
Linuxのソケットインタフェースでは、接続先のIPアドレスやポート番号の情報を保持するために,`sockaddr_in`構造体が 用意されている。各ソケットは,bindシステムコールによって `sockaddr_in`構造体のデータと関連づけられる.
sockaddr_in構造体の定義
----------------------
struct in_addr {
u_int32_t s_addr;
};
struct sockaddr_in {
u_char sin_len; (このメンバは古いOSでは存在しない)
u_char sin_family; (アドレスファミリ.AF_INETなど指定)
u_short sin_port; (ポート番号)
struct in_addr sin_addr; (IPアドレス)
char sin_zero[8]; (無視してもよい.「詰め物」のようなもの)
};
ポート番号やIPアドレスはネットワークバイトオーダー (big endian) になっていないといけない。このため,整数をネットワークバイトオーダーに変換する `htons`, `htonl` 関数を用いる。
参考
----
1.