getAddress方法和getHostAddress类似,它们的唯一区别是getHostAddress方法返回的是字符串形式的IP地址,而getAddress方法返回的是byte数组形式的IP地址。getAddress方法的定义如下:
public byte[] getAddress()
这个方法返回的byte数组是有符号的。在Java中byte类型的取值范围是-128〜127。如果返回的IP地址的某个字节是大于127的整数,在byte数组中就是负数。由于Java中没有无符号byte类型,因此,要想显示正常的IP地址,必须使用int或long类型。下面代码演示了如何利用getAddress返回IP地址,以及如何将IP地址转换成正整数形式。
package cn.com.songjy.test;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class MyIP {
/**
* @param args
* @throws UnknownHostException
*/
public static void main(String[] args) throws UnknownHostException {
InetAddress address = InetAddress.getByName("www.baidu.com");
//address = InetAddress.getLocalHost();
byte ip[] = address.getAddress();
for (byte ipSegment : ip)
System.out.print(ipSegment + " ");
System.out.println("");
for (byte ipSegment : ip)
{
int newIPSegment = (ipSegment < 0) ? 256 + ipSegment : ipSegment;
System.out.print(newIPSegment + " ");
}
}
}
引自:
http://www.blogjava.net/nokiaguy/archive/2009/04/21/266732.html
分享到:
相关推荐
接下来,我们讨论如何获取IP地址。IP地址是互联网上设备的唯一标识,分为IPv4和IPv6两种类型。同样,我们可以使用`InetAddress`类来获取: ```java import java.net.InetAddress; import java.net....
#### 三、在Linux环境下获取IP地址 在Linux环境中,可以通过`InetAddress`类来获取主机的IP地址。但是需要注意的是,对于多网卡的情况,需要遍历所有网络接口来找到正确的IP地址。 **示例代码**: ```java public...
如果你需要读取当前的IP地址,可以使用 `GetAddress()` 函数: ```cpp DWORD dwIP[4]; m_ipAddressCtrl.GetAddress(dwIP); CString strIP; strIP.Format(_T("%d.%d.%d.%d"), dwIP[0], dwIP[1], dwIP[2], dwIP[3]); ...
如果需要获取用户输入的IP地址,可以使用`GetAddress`方法: ```cpp DWORD ip = 0; m_ipAddressCtrl.GetAddress(&ip); ``` 这里的`ip`变量将存储四个字节的IP地址,每个字节对应IP地址的一个部分。 此外,还可以...
因此,在设置和获取IP地址时,需要使用htonl和ntohl函数来转换IP地址的字节序,确保数据在计算机和网络中保持一致。 总结以上,VC中IP地址控件的赋值与取值主要依赖于Windows API中提供的相关函数,通过正确的函数...
例如,要获取IP地址,可以使用`GetAddress()`函数;要设置IP地址,可以使用`SetAddress()`函数: ```cpp // 获取IP地址 DWORD ip; m_ipAddress.GetAddress(&ip); // 设置IP地址 m_ipAddress.SetAddress(192, ...
在Flex的AIR(Adobe Integrated Runtime)环境中,获取本机IP地址和MAC地址是常见的需求之一,尤其是在开发网络应用时。本文将详细介绍如何在AIR环境下利用Flex SDK中的`flash.net.NetworkInfo`类来实现这一功能。 ...
例如,你可以使用`getByName(String host)`方法来根据主机名获取IP地址,或者使用`getAllByName(String host)`来获取所有可能的IP地址(对于有多个IP的域名)。 ```java InetAddress address = InetAddress....
- 将DWORD类型的IP地址转换回字符串格式,通常使用`Format`方法实现。 - 通过位移操作获取每个字节的值,并使用`Format`方法构建字符串。 #### 二、具体实现步骤 ##### 1. CString转DWORD ```cpp CString strIP...
Java中的`java.net.InetAddress`类是处理IP地址的核心类,提供了获取主机名、IP地址以及校验IP地址有效性的方法。 3. **IP地址解析**: - `InetAddress.getByName(String host)`:通过主机名或IP地址获取`...
例如,`GetAddress()`函数可以获取IP地址的四部分十进制值,而`SetAddress()`函数则可以设置新的IP地址。这些值是以数组形式表示的,每个元素代表一个八位字节。 在用户交互时,你可能需要响应IP Address控件的某些...
这些库提供了一些封装好的方法,可以简化设置IP地址的过程。 6. **系统服务和回调**:在Android中,通常需要监听网络状态变化,并在状态改变时更新IP设置。可以注册`BroadcastReceiver`来接收`CONNECTIVITY_ACTION`...
根据ip查询城市名称(含IP地址库) java版本 将QQWry.dat放到src下。。 调用如下接口方法 获取城市名称: String cityname = net.sololive.ip.IPSeeker.getAddress(ip);
当你通过`InetAddress`获取IP地址时,返回的结果通常是一个`InetAddress`对象,但如果你需要处理IP地址的原始字节表示,你可以调用`getAddress()`方法,它会返回一个`byte[]`数组。然而,直接输出这个数组可能会遇到...
在Android中,我们可以使用`ConnectivityManager`和`NetworkInterface`类来获取IP地址。以下是一个简单的示例代码片段: ```java ConnectivityManager connectivityManager = (ConnectivityManager) ...
wry.dat放置web-inf目录下,导入ipaddress.1.0.jar 使用方法: 实例Ipaddress Ipaddress ip = new Ipaddress(); ip.getAddress("request获得的ip地址")
// 获取IP地址 byte[] ipAddr = addr.getAddress(); // 获取主机名 String hostname = addr.getHostName(); } catch (UnknownHostException e) { // 处理异常 } ``` 1. **InetAddress.getLocalHost()**:此方法...
此外,为了获取更全面的网络信息,我们还可以使用`NetworkInterface`类来获取本机的所有网络接口及其相关的IP地址。 总之,Java提供了丰富的网络编程API,使得开发者能够方便地处理IP地址和网络通信。通过`...