programing:linux-programing:network-programing:linux-struct-sockaddr_in
**文書の過去の版を表示しています。**
sockaddr_in構造体
Linuxのソケットインタフェースでは、接続先のIPアドレスやポート番号の情報を保持するために,sockaddr_in
構造体が 用意されており,各ソケットは,bindシステムコールによって sockaddr_in
構造体のデータと関連づけられる.
sockaddr_in構造体の定義
- /usr/include/netinet/in.h
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関数を用いる.
参考
programing/linux-programing/network-programing/linux-struct-sockaddr_in.1580373767.txt.gz · 最終更新: 2020/01/30 17:42 by yoko