0

同じホストで実行されているサービスに接続するアプレットがあります。アプレットをホストするWebサーバーは、アプレットが接続するサービスと同様に、IPv4とIPv6の両方でリッスンします。

問題は、アプレット内のwithから取得できるのは、ページURLまたはコードベースURLだけであるということです。URLから、ブラウザによってIPv4またはIPv6に解決されたかどうかを検出できないため、アプレットがIPv6経由でロードされ、そのURLを使用して、サービスを検索するサーバーがサンドボックスに失敗することをアプレットに通知します。デフォルトではIPv4アドレスに解決されるため、ルールが適用されます。

頭に浮かぶ唯一の解決策は、アプレットに署名して任意のサーバーへの接続を要求できるようにすることですが、私はもっと簡単な解決策を望んでいました(証明書を購入したり、アクセスするすべてのシステムのトラストストアにカスタムCAを追加したりする必要はありません)サイト)。

誰もがより良い解決策を得ました。

4

1 に答える 1

2

InetAddress.getAllByName()を使用します。結果の順序によって、どちらを使用するかがわかります(つまり、最初にresult [0]を使用する必要があります)。

重要な質問は、「アプレットがどのようにロードされたか」ではなく、「ホストにどのように接続する必要があるか」です。

于 2011-03-11T01:32:21.550 に答える