[Mew-dist 11480] Re: (v6 8660) Re: Re: im-133
Atsushi Onoe
onoe at example.com
1999年 11月 26日 (金) 10:16:21 JST
> kazu> つまり、getaddrinfo() でしょう?
>
> やりたいことは getaddrinfo() と等価です。しかし、getaddrinfo() を使っ
> ちゃうと、返り方が gethostbyname() と異なるので、後の処理も書き換えない
> といけないのでやだなぁというだけです。getaddrinfo() が使える Perl だけを
> 考えるなら、書き換えちゃうんですが、使えない普通の Perl でも動くようにと
> 考えると、できるだけコードは変えない方が良いのではと思ったりします。
> Perl だと、アドレスの長さを length() で見れば IPv4 アドレスか IPv6 ア
> ドレスか判定がつくので、@he_addrs に IPv4 アドレスと IPv6 アドレスをその
> まま突っ込んじゃっても何とかなるという、単に手抜きなコードを書いてるだけ
> です。^^;
>
> kazu> ええ、だから protocol independent なプログラミングをしましょうと言って
> kazu> います。
>
> 同感です。:-)
> Perl 標準で getaddrinfo() があればなぁ。
getaddrinfo() を perl で書くというのは大変なのでしょうか。
IPv6 perl なら getaddrinfo() を使い、なければ自前の getaddrinfo() を使う。
自前の getaddrinfo() は gethostbyname() を呼ぶ。
gethostbyname() 使ってる側は構わず getaddrinfo() に書き換える。
(wrapper は必要かも)
アドレスだけを見ていると scope が扱えないので、getipnodebyname() や
既に obsolete な gethostbyname2() を使っている人と同様に itojun に
怒られます:-)
尾上
Mew-dist メーリングリストの案内