gethostbyname vs getaddrinfo

こっちのblogを随分と放置していました.いくつか書きたい記事があるのですが,もう少しまとまったらという事で,今回はメモ.

80 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2006/02/14(火) 15:17:58
getaddrinfo()を使って、gethostbyname()で言うところの
h_aliases(ホストのalias名のリスト)を取得するにはどうすればいいのでしょうか?
man読む限りでは、ai_canonname(ホストの正式名)しか得られないようですし、
実際、テストプログラムを組んでみてもalias名は得られませんでした。

getaddrinfo()って、この点についてはgethostbyname()よりも退化したのでしょうか?


144 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2006/02/16(木) 11:46:58
>>80
getaddrinfo()ではalias名の取得はムリ。
おまいさんの言うとおり、gethostbyname()より退化してる。

というか、getaddrinfo()なんて使うな。
古めのOSじゃ使えないし、移植性に問題あり。
gethostbyname()で無問題。
IPv6なんて決して普及しないから、対応する必要なし。

http://www.yomogimochi.com/2ch/data/3/1139680811.html

gethostbyname()は廃れかかっているからgetaddrinfo()を使え,という文句が以前から気になっていたので一応getaddrinfo()を使って書き直しておこうかなと思った矢先に当った問題.もし,IPv6が普及してgethostbyname()が消えた場合,エイリアス名ってどうやって取得すればいいのだろう.その時になって,またシステムコールの見直しが始まってgetaddrinfo()も廃れました!て落ちになったりして.

個人的に,getaddrinfo()はインターフェース(引数)が複雑で好きじゃないので普及して欲しくないなぁと思っています.gethostbyname()も分かり易いとは言えないですが.全体的に,sockaddr絡みは分かりにくい作りになっているよなぁ,と感じます.