2016-09-19 56 views
1

我的應用程序因爲不是啓用iPV6而被拒絕。iOS9中的IPV6和配置I​​PV6啓用API

我已經通過the documentation,很少有人研究iPV6和其他許多鏈接。

但是我需要理解並且需要一些關於採用IPV6的一些問題的解釋。

  1. 當蘋果說 「純IPv6網絡」。 這是否意味着我無法通過套接字編程或HTTP主機與ipv4服務器連接?

  2. 要訪問或通信到啓用ipv4的服務器,我必須採用由蘋果(nsurlsession和nscfnetwork)爲http post提供的新apis?

  3. 什麼是合成ipv6地址? 這是否意味着我將在我的客戶端(iOS應用程序)中編寫域或ipv6地址,iOS會將ipv6地址轉換爲ipv4,並通過我的套接字編程或http post將其傳遞給服務器?

    成合成需要此功能的IPv6地址:的getaddrinfo

  4. 實施例:我的客戶端(IOS應用程序),其與不同的服務器進行通信。

    a。 Server1是iPV4
    b.Server2是ipv6

    我該如何管理?

  5. 我是否需要任何其他外部實體,如DNS/NAT服務器,這將幫助我將ipv4轉換爲ipv6? 或iOS9及以上操作系統自己做?

  6. iv6是從ios9.2開始還是從ios9開始?

  7. 我的應用程序還支持ios8。 其中沒有ipv6服務器的要求。 如何管理用於ipv4的ios8通信的代碼和用於ipv6的ios9的合成代碼。

請給我澄清,並幫助我瞭解ipv6究竟需要什麼。

我是網絡端代碼的新手。

回答

0

您可以連接IPv4-Only服務器只使用domian名稱,而不是ip地址。

或者,當用戶處於僅IPv6網絡中時,您可以使用NAT64地址(通常以64:ff9b::/96作爲前綴,並且可以通過IPv4僅服務器的查詢AAAA記錄發現)。

對於大多數開發人員,您不需要做任何事情。

您可以嘗試在可由macOS創建的NAT64網絡中調試應用程序。

注意:如果可以,請使用3.Net或更高版本的AFNetworking Library。

+0

謝謝你的答覆。我們不能給域名。我們需要給這個IP地址。因爲我們的產品基於SIP和套接字編程。 – xamrine

+0

對於IPv6 Only網絡,您應該使用IPv6服務器或「64:ff9b :: abcd:1234」。 'abcd:1234'是十六進制的真實IPv4。 – qin

+0

@xamrine你當然可以使用SIP協議的主機名。您不能在iOS中以這種方式使用IPv4地址了。 –

0

enter image description here

在點,當找不到一個IPv6的地理位置,DNS64服務器請求一個IPv4地址。然後,DNS64服務器通過在IPv4地址前添加一個IPv6地址,並將其返回給客戶。以這種方式,客戶可靠地獲取IPv6準備的位置。

+0

謝謝你的回答。但我在網絡方面的知識較少。當你說DNS64服務器時。當我們使用ios9 api或者我們需要不同的外部DNS服務器時,這個服務器或者這個前綴是否被操作系統本身處理? – xamrine

+0

在域的幫助下你可以連接 –

+0

謝謝你的回覆。一旦我獲得足夠的聲望,我一定會提高你的答案。謝謝 – xamrine