新石器Wiki

近年はシリコン(石)から進化した便利なもので溢れる時代。そんな気になった事や試した事など記す。

ユーザ用ツール

サイト用ツール


サイドバー

Home The modern stone age.

サイドバー

記事ナビ


タグ一覧

タグ#
1
18

作者関連サイト

参考

スポンサーリンク

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/network-programing/linux-struct-sockaddr_in.txt · 最終更新: 2019/02/11 17:34 by 管理者