梅本です。

>>> Fri, 10 Mar 2006 16:20:18 +0900 の刻に「turutani」、すなわち
>>> Tsurutani Naoki <[EMAIL PROTECTED]> 氏曰く

turutani> そこで思い出してみると、jdk14のビルド時に、"WITH_IPV6=1"としていたことに
turutani> 気が付きました。これをはずしてビルドしなおすと、外部のホストでも
turutani> きちんとアプレットが動作しました。
turutani> 実はIPv6はLAN外へは出られない状態なのですが、これが悪かったのかもしれません。

  jdk14 は、WITH_IPV6 で作ると、IPv4 での通信の際に IPv4-mapped IPv6
address を使用します。FreeBSD はデフォルトでは IPv4-mapped IPv6
address はオフになっているため、オンにしないと IPv4 での通信は一切でき
ません。オンにするには、sysctl で

        sysctl net.inet6.ip6.v6only=0

とします。恒久的に設定するには、/etc/rc.conf に

        ipv6_ipv4mapping="YES"

と書いておきます。

  しかし、これだとシステム全体の設定を変えることになり、ちょっと厳しい
ので、jdk14 側で socket 単位で IPv4-mapped IPv6 address の使用を許可す
るようにするパッチを投げてあります。

        http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/92620

  ただし、ちょっとした手違いで UDP の場合にうまく機能していなかったため、
まだ commit はされていません。しかし、この問題は、最近の 7-CURRENT,
6-STABLE, 5-STABLE, 4-STABLE では既に直してあります。また、UDP を使わな
いのであれば、問題なく機能するはずです。

--
梅本 肇 @ インターネット互助会横浜  http://www.imasy.org/~ume/
[EMAIL PROTECTED]  [EMAIL PROTECTED],jp.}FreeBSD.org
プログラムは書いた人の意図ではなく書かれた通り動く  I hate Modula-3 :-)

メールによる返信