標籤:http ifd hit .com var ati 服務 params orange
1.伺服器必須使用網域名稱.不能使用IP地址
2.Indy的話,網域名稱加[]
3.DataSnap的話,Params.Values[‘CommunicationIPVersion‘] :=‘IP_IPv6‘;
4.當前網路環境的判斷,如下代碼:
{$IFDEF IOS}
uses
StrUtils,
Posix.NetDB,
IdStackConsts;
{$ENDIF}
function IsSupportIPV6Host_IOS(const Host:String):Boolean;
{$IFDEF IOS}
var
APHostEnt:PHostEnt;
{$ENDIF}
begin
Result:=False;
{$IFDEF IOS}
//蘋果只要求IOS9以上的系統運行APP支援IPV6
//IOS版本要大於9
if TOSVersion.Check(9) then
begin
try
FMX.Types.Log.d(‘OrangeUI IsSupportIPV6Host_IOS ‘+Host);
//如果當前環境是IPV4,APHostEnt為nil
APHostEnt:=gethostbyname2(MarshaledAString(TEncoding.UTF8.GetBytes(Host)),Id_PF_INET6);
Result:=(APHostEnt<>nil);
FMX.Types.Log.d(‘OrangeUI IsSupportIPV6Host_IOS IsIPV6 ‘+BoolToStr(Result));
except
//但是在IPV4切換到IPV6,程式沒有退出的時候,會報錯
end;
end;
{$ENDIF}
end;
http://blog.sina.com.cn/s/blog_44fa172f0102w8sj.html
XE10開發的APP對於蘋果IPV6上架要求的處理(DelphiTeacher)