zoukankan      html  css  js  c++  java
  • XE10开发的APP对于苹果IPV6上架要求的处理(DelphiTeacher)

    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

  • 相关阅读:
    Python前言之Markdown使用
    Linux压缩命令
    ubuntu安装nodejs
    linux搭建nginx流服务器,OBS推流,VCL拉流播放
    nginx配置文件
    控制语句
    鼠标用户和键盘用户
    if else
    cookie自封装对象
    C#:基于WMI查询USB设备信息 及 Android设备厂商VID列表
  • 原文地址:https://www.cnblogs.com/findumars/p/6307468.html
Copyright © 2011-2022 走看看