requestRouteToHost IP参数

时间:2010-02-19 11:48:33

标签: android

为了检查设备上的互联网访问,我使用requestRouteToHost函数,但它的第二个参数有整数类型 - 我必须放入它?它是[1]函数的IP视图吗?我认为使用默认的android函数有更简单的方法。有人可以告诉我吗?

[1] - >

public static Long ipToInt(String addr) {
        String[] addrArray = addr.split("\\.");

        long num = 0;
        for (int i=0;i<addrArray.length;i++) {
            int power = 3-i;

            num += ((Integer.parseInt(addrArray[i])%256 * Math.pow(256,power)));
        }
        return num;
    }

感谢。

1 个答案:

答案 0 :(得分:9)

虽然Android中有一种将String IP地址转换为int的方法,但它不是SDK的一部分。这是实施:

public static int lookupHost(String hostname) {
    InetAddress inetAddress;
    try {
        inetAddress = InetAddress.getByName(hostname);
    } catch (UnknownHostException e) {
        return -1;
    }
    byte[] addrBytes;
    int addr;
    addrBytes = inetAddress.getAddress();
    addr = ((addrBytes[3] & 0xff) << 24)
            | ((addrBytes[2] & 0xff) << 16)
            | ((addrBytes[1] & 0xff) << 8)
            |  (addrBytes[0] & 0xff);
    return addr;
}