iOS推送javaPNS源码解析五,代理管理类

来源:互联网 发布:条形码查询价格软件 编辑:程序博客网 时间:2024/05/23 01:26

这个类是最不想写的,因为看不懂啥意思,结合使用的地方看,这个类就是设置下代理地址到指定的系统属性或者jvm属性,获取当前服务器是否有代理设置

类名为ProxyManager

    private static final String LOCAL_PROXY_HOST_PROPERTY = “javapns.communication.proxyHost”;系统属性key
    private static final String LOCAL_PROXY_PORT_PROPERTY = “javapns.communication.proxyPort”;

    private static final String JVM_PROXY_HOST_PROPERTY = “https.proxyHost”;jvm属性key
    private static final String JVM_PROXY_PORT_PROPERTY = “https.proxyPort”;

    private ProxyManager() {};构造函数
   

    public static void setProxy(String host, String port) {;配置系统属性地址和端口,用于javaPns创建https链接
        System.setProperty(LOCAL_PROXY_HOST_PROPERTY, host);
        System.setProperty(LOCAL_PROXY_PORT_PROPERTY, port);
    }


    public static void setJVMProxy(String host, String port) {;配置jvm属性地址和端口,用于任意地方创建的https链接
        System.setProperty(JVM_PROXY_HOST_PROPERTY, host);
        System.setProperty(JVM_PROXY_PORT_PROPERTY, port);
    }

public static String getProxyHost(AppleServer server);获取指定服务器的当前配置的代理地址,如果没有就获取系统属性的配置,如果没有就获取jvm中的配置,否则返回null;

public static int getProxyPort(AppleServer server) ;获取指定服务器的当前配置的代理端口,如果没有就获取系统属性的配置,如果没有就获取jvm中的配置,否则返回0;

public static boolean isUsingProxy(AppleServer server);获取指定服务器是否配置有地址

其实JavaPns在推送过程中,使用设置为常量的推送地址,设置不设置到系统属性或者jvm属性都没什么问题,所以代码中并没有调用设置属性的方法。