开发者

requestRouteToHost IP argument

开发者 https://www.devze.com 2022-12-20 12:37 出处:网络
For checking internet access on device I use requestRouteToHost function, but it\'s second argument has integer type - what i has to put in it? Is it int-view of IP like [1] function makes? I think th

For checking internet access on device I use requestRouteToHost function, but it's second argument has integer type - what i has to put in it? Is it int-view of IP like [1] function makes? I think there is more simple way by using default android functions. Can somebody tell me?

[1] -->

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

        long num = 0;
        for (int i=0;i<addrArray.length;i++) {
            int p开发者_运维问答ower = 3-i;

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

Thanks.


While there is a method in Android to convert a String IP address into an int, it is not part of the SDK. Here's the implementation:

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;
}
0

精彩评论

暂无评论...
验证码 换一张
取 消