私は、IPV4ネットワークでうまく動作している反応ネイティブで書かれたアプリ(IOS用)を開発しました。しかし、最近、AppleはIPV6ネットワークでテストしたときに私のアプリが動作しなかったというメッセージを送りました。彼らは私に、IPV6専用ネットワークとの互換性を持たなければならないと言いました。.fetch関数を使用して、反応ネイティブでAPI呼び出しをIPV6互換にするにはどうすればいいですか?
質問は、私の既存のAPI呼び出しをIPV6ネットワークと互換性を持たせるにはどうすればいいですか?
私のAPIはhttpsプロトコルを使用しており、生のIPではなくドメイン名によって呼び出されます。
fetch(query,{
method: 'post',
headers: Utils.fetchHeaders('post')
})
.then(Utils.checkStatus)
.then(Utils.parseJSON)
.then(json => this._handleResponse(json))
.catch(error => {
this.setState({
votingError: 'Sorry, there was an error!',
loading: false
});
});
とAPIエンドポイントは、次の形式である:
サンプルは、私が使用することを呼び出すフェッチがある
任意のヘルプは大歓迎します。
デジタル海水滴である私のエンドポイントは、IPV6ネットワークからの接続を受け入れないようです。私のドメインにはIPV6 IPが割り当てられていますが。液滴にはネットワーキングの問題があるようです。私はこの問題を解決するためにデジタル海洋と話しています。 – meteorite
私はサーバー上でIPV6サポートを有効にすることで修正したと思いますが、どうしてこのような変更を加えなければならないのか分かりません。 IPV6専用ネットワーク内からIPV4サーバに接続できないのはなぜですか?何か案が? – meteorite
また、フェッチAPIが内部的にNSURLSessionを使用しているかどうかは疑問です。なぜデフォルトでは動作しないのですか? Apple側で私のアプリケーションを見た人は、ipv4ネットワークに切り替わったときにアプリが動いていたが、ipv6専用ネットワークでは機能していないと言った。おそらく彼らのネットワークはIPV6をIPV6に変換しないか、フェッチは実際にNSURLSessionを使用しません。 – meteorite