20.Apple의 IPv6 정책 우회책

Edit

20.1Apple의 IPv6 정책 우회책

자세한 사항은 http://www.internetsociety.org/deploy360/blog/2015/06/apple-will-require-ipv6-support-for-all-ios-9-apps/ 에 있습니다.

Apple의 정책에서 언급하고 있는 "Avoid hard-coded addresses"란, 서버 접속을 할 때 다음과 같은 형식의 주소를 쓰지 말라는 뜻입니다.

11.22.33.44
1122:3344:5566:7788:1122:3344:5566:7788

그 대신 FQDN 형식의 호스트 이름을 써야 합니다.

myserver1.mygame.com

만약 여러분이 Apple의 정책을 빨리 대응해야 하지만 아직 당장 모든 서버에 대한 FQDN 이름을 할당할 시간적 여유가 없으시다면

프라우드넷에서 이를 우회적으로 해결하는 방법을 제공하고 있습니다.

접속하고자 하는 서버 주소 말고도, 다음과 같이 [1]과 [2]에 서로 다른 FQDN을 넣어주면 됩니다.

CNetClient* nc = CNetClient::Create();
p.m_serverIP = "11.22.33.44";
p.m_publicDomainName1 = "www.nettention.com"; // [1]
p.m_publicDomainName2 = "www.nts.go.kr";  // [2]
nc->Connect(p);

이때 주의사항이 있습니다.

- [1]과 [2]는 서로 다른 도메인이어야 합니다.

- [1]과 [2]는 IPv6 주소를 가지지 않아야 합니다.

- NetClient는 [1]과 [2]의 서버에 실제로 접속하지는 않습니다. 하지만 [1]과 [2]는 유효한 호스트이어야 합니다.

본 우회책은 근본적인 해결 방법은 아닙니다. 모든 NetServer에 대한 정상 접속을 보장하지는 않습니다.

이 문제를 근본 해결하려면 Apple에서 권고하는대로 FQDN 형식의 호스트 이름을 써야 합니다.