当我使用ipv6互联网时,我的服务器是否应该支持ipv6才能获取数据

时间:2017-07-26 11:54:39

标签: ios swift app-store ipv6 ipv4

我正在尝试在应用商店中添加我的应用,但它会返回此错误 我的应用程序不支持ipv6,人们告诉我,我应该创建ipv6网络来测试我的应用程序。 现在我有服务器上的数据,但服务器上有这些数据不支持IPV6只支持IPV4,如果它支持IPV6,或者可以使用IPV6从不支持IPV6的服务器获取数据< / p>

2 个答案:

答案 0 :(得分:0)

您的服务器可以通过两种方式通过IPv6接收请求: 1)您的服务器支持IPv6并具有IPv6地址(此外,大多数主机支持此功能)。 2)服务器前面的某些设备(硬件或Linux路由器)应同时支持IPv6和IPv4。它将通过IPv6接收请求,并通过IPv4将它们传输到您的服务器。

您可以尝试回答Appstore,即服务器端的托管服务提供商不支持IPv6。对我而言,它有效。

答案 1 :(得分:0)

这是一个敏感话题,很多人都对此有错误的认识。

您的应用必须支持仅支持IPv6的网络。但是您的服务器可能不支持IPv6:由您决定是否支持IPv6。

深入解释:Apple希望您的客户端应用程序在连接到仅支持IPv6的网络时正常工作,但是纯IPv6网络必须通过提供DNS解析器来帮助您的应用程序符合DNS64(RFC 6147),并提供NAT64(RFC 6146)IPv6到IPv4转换网关。这意味着您的客户端应用程序向 www.myipv4onlyserver.com 发出DNS请求,然后解析程序回复一个伪造的IPv6地址,路由到NAT64网关。因此,您的客户端应用程序与IPv6通信此网关,此网关将数据通道转换为您的IPv4服务器,如透明代理。

为了符合Apple的期望,请使用高级网络库和地址无关的API,例如getaddrinfo()和getnameinfo()。使用主机名或FQDN,而不是IP地址。

有关详细说明,请参阅this Apple forum articlethis Apple networking guide