>>1660 68user > 少しの例外を除いて基本的には書き方は同じです (そうしないと > ソースレベルでの互換性が全くなくなるので)。例外というのは > gethostbyname の代わりに getaddrinfo を使うとか。 あー激しく不正確だなぁ。gethostbyaddr で IPv6 なプログラムは 書けます。でも、AF_INET を AF_INET6 にしないといけないとか、 struct sockaddr_in を struct sockaddr_in6 にするだとか、 ソースレベルでの書き換えが必要になります。しかもそのように 書き換えると IPv4 では動きません。 そりゃまずいというわけで、IPv4 でも IPv6 でも同じ書き方が できるような新しいライブラリが追加されました。getaddrinfo という関数や AF_UNSPEC というアドレスファミリ (AF_INET とか AF_INET6 とかを指定する必要がない) などなど。 というわけで、IPv6 only のプログラムは簡単に書けますが、 書いちゃいけません。IPv4/v6 両方で動くようなプログラムを 作るべきです。 あと、FreeBSD 4.1-RELEASE のデフォルト状態なら IPv6 対応の はずですね。/etc/inetd.conf の #echo stream tcp6 nowait root internal あたりを有効にして inetd を再起動して、それとお話しする クライアントを書いてみるといいでしょう。 以上、IPv6 アプリを書いたことのない者 (IPv6 を使ったことさえ ない) のたわごとでした。 |