そのsockaddr_inはLinuxで何に使うのか
Linuxでは、sockaddr_in構造体はIP v4アドレス情報を格納・転送しています。
sockaddr_in構造体の定義は次のとおりです。
struct sockaddr_in {
short int sin_family; // Address family
unsigned short int sin_port; // Port number
struct in_addr sin_addr; // Internet address
unsigned char sin_zero[8]; // Padding
};
各部が表す、メンバー変数の意味を以下に示す。
- sin_family:アドレス族で、通常はIPv4を表すAF_INETに設定される。
- Sin_port: ポート番号(ネットワークバイトオーダーを使用)
- sin_addr:IPv4アドレス
- sin_zero: パディングバイトで、sockaddr構造体のサイズを一定に保つために使われる。
ソケット通信において、IPv4 のアドレスやポート情報を指定・受け渡しするには `sockaddr_in` 構造体を利用します。例えば、ソケット関数を用いて TCP や UDP のソケットを作成・接続する際には、相手方のサーバのアドレスやポートを `sockaddr_in` 構造体で指定する必要があります。