码迷,mamicode.com
首页 > 移动开发 > 详细

XE10开发的APP对于苹果IPV6上架要求的处理(DelphiTeacher)

时间:2017-01-19 18:34:23      阅读:301      评论:0      收藏:0      [点我收藏+]

标签: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)

标签:http   ifd   hit   .com   var   ati   服务   params   orange   

原文地址:http://www.cnblogs.com/findumars/p/6307468.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!