Ich habe eine App (für IOS) entwickelt, die in reactive native geschrieben wurde, die in IPV4-Netzwerken gut funktioniert. Vor kurzem hat Apple jedoch eine Nachricht gesendet, dass meine App beim Testen in einem IPV6-Netzwerk nicht funktioniert hat. Sie sagten mir, dass ich es auch mit IPV6-Netzwerken kompatibel machen müsste.Wie API-Aufrufe IPV6 kompatibel in react-native mithilfe der Funktion .fetch machen?
Die Frage ist, wie kann ich meine bestehenden API-Aufrufe mit einem IPV6-Netzwerk kompatibel machen?
Meine API verwendet das https-Protokoll und es wird nach Domänenname, nicht eine rohe IP aufgerufen.
Eine Probe fetch nennt das ich verwende, ist:
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
});
});
und der API-Endpunkt ist in folgendem Format:
Jede Hilfe geschätzt.
Es scheint, dass mein Endpunkt, der ein digitaler Ozeantropfen ist, keine Verbindungen von IPV6-Netzwerken akzeptiert. Obwohl meine Domäne mit einer IPV6 IP zugewiesen ist. Es scheint ein Netzwerkproblem mit dem Tropfen zu geben. Ich spreche mit Digital Ocean, um das Problem zu lösen. – meteorite
Ok Ich denke, ich habe es behoben, indem ich die IPV6-Unterstützung auf meinem Server aktiviert habe, aber ich verstehe nicht, warum ich eine solche Änderung vornehmen muss. Warum kann ich keine Verbindung zu einem IPV4-Server innerhalb eines IPV6-Netzwerks herstellen? irgendeine Idee? – meteorite
Ich bezweifle auch, dass die Fetch-API intern NSURLSession verwendet. Warum sollte es dann nicht standardmäßig funktionieren? Der Typ, der meine App auf Apple-Seite überprüft hat, sagte, dass die App funktionierte, als er zu einem ipv4-Netzwerk wechselte, aber nicht im ipv6-only-Netzwerk arbeitete. Vielleicht übersetzt ihr Netzwerk IPV4 ips nicht zu IPV6 oder holt tatsächlich nicht NSURLSession – meteorite