当前位置:首页 > 网站技术文档 > 正文内容

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

nalyc1个月前 (09-21)网站技术文档90

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;

扫描二维码推送至手机访问。

版权声明:本文由Qzcc.Com发布,如需转载请注明出处。

本文链接:http://qzcc.com/post/delphi_ipv6.html

分享给朋友:

相关文章

如何用动态字段实现系统的扩展性?

如何用动态字段实现系统的扩展性?

设计系统架构时,我们总是希望一个架构或者说是模型能支持多种业务场景,当然场景是系统范围内的。比如说做商品系统,商品有多种属性,不同类型的商品的属性不一样,怎么用关系型数据库去保存这些不同的属性呢?再比如做CMS时,除了基本的背景、位置、类型...

delphi 获取动态创建控件内容

遍历控件代码1:var  i :Integer;begin  for i := 0 to ComponentCount - 1 do    if Components[i] is TRadioButt...

各种颜色的代码是什么

各种颜色的代码是什么

颜色代码:颜色代码:红色#FF0000 深紫色 #871F78 褐红色 #8E236B 石英色 #D9D9F3绿色#00FF00 深石板蓝 #6B238E 中海蓝色 #32CD99 艳蓝色 #5959AB蓝色#0000FF 深铅灰色 #2F...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。