package com.mz.xx.code;
import java.net.Inet4Address;
import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Enumeration;
public class InetAddressExample {
public static void main(String[] args) {
try {
//1.获取主机的网络接口列表
//静态方法getNetworkInterface()返回一个列表,其中包含勒该主机每一个接口所对应的NetworkInterface类实例。
Enumeration<NetworkInterface> interfaceList = NetworkInterface.getNetworkInterfaces();
if(interfaceList==null){
System.out.println("--No interface found--");
}else{
while(interfaceList.hasMoreElements()){
NetworkInterface iface = interfaceList.nextElement();
System.out.println("interface "+iface.getName()+":");
Enumeration<InetAddress> addrList = iface.getInetAddresses();
if(!addrList.hasMoreElements()){
System.out.println("\t(No address for this interface)");
}
while(addrList.hasMoreElements()){
InetAddress address = addrList.nextElement();
System.out.print("\tAddress"+((address instanceof Inet4Address ? "(v4)" :(address instanceof Inet6Address ? "(v6)" : "(?)"))));
System.out.println(": "+address.getHostAddress());
}
}
}
} catch (SocketException e) {
e.printStackTrace();
}
for(String host : args){
try {
System.out.println(host+":");
InetAddress[] addressList = InetAddress.getAllByName(host);
for(InetAddress address: addressList){
System.out.println("\t"+address.getHostName()+"/" + address.getHostAddress());
}
} catch (UnknownHostException e) {
System.out.println("\tUnable tofind addrss for"+host);
}
}
}
}
package com.mz.xx.code;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Enumeration;
public class Test {
/* 一:IPv4 与 IPv6
* 互联网地址由二进制数字组成,有两种形式,分别对应勒两个版本的标准互联网协议.
* IPv4: 地址长为32位 IPV4被表示为一组4个十进制数,每两个数字之间由原点隔开(如:10.1.2.3),
* 这种表示方法叫做 点分形式.点分形式字符串中的4个数字代表勒互联网地址的4个字节,也就是
* 说,每个数字的范围是0-255.
* IPv6: 地址长为128位.IPv6地址的16个字节由几组16进制的数字表示,这些16进制数字之间由分号隔开
* (如:2000:fdb8:0000;0000:0001:00ab:853c:39a1)
*
* 二:InetAddress类代表一个网络目标地址,t包括主机名和数字类型的地址信息。
* 该类有两个子类,Inet4Address和Inet6Address,分别对应勒目前IP地址的两个版本.
* InetAddress实例是不可变得,一旦创建,每个实例始终 指向同一个地址.
*
* 三:Ip地址实际上是分配给主机与网络之间的链接,而不是主机本身.NetworkInterface类提供访问主机
* 所有接口的信息的功能.这个功能非常有用,当一个程序需要通知其他程序其IP地址时就会用到.
*
*/
public static void main(String[] args) {
// try {
// Enumeration<NetworkInterface> interfaceList = NetworkInterface.getNetworkInterfaces();
// while(interfaceList.hasMoreElements()){
// NetworkInterface iface = interfaceList.nextElement();
// System.out.println("Interface "+iface.getName()+":");
// Enumeration<InetAddress> addrList = iface.getInetAddresses();
//
// while(addrList.hasMoreElements()){
// InetAddress address = addrList.nextElement();
// System.out.println(address.toString()+"\t"+address.getHostName());
// }
// }
// } catch (SocketException e) {
// e.printStackTrace();
// }
/**
* host : 为服务器地址.可以是字符串(IPv6--- )、也可以是数字型地址()。
*/
String host = "www.baidu.com";
try {
InetAddress[] addressList = InetAddress.getAllByName(host);
for(InetAddress address : addressList){
System.out.println("\t"+address.getHostName()+"\t"+address.getHostAddress());
}
} catch (UnknownHostException e) {
System.out.println("\tUnable to find address for" + "192.168.1.71");
}
}
}
分享到:
相关推荐
SocketTool调试软件是一款网络TCP/UDP通信调试工具,本工具集功能强大与简单易用为一体,是无需安装的免费绿色软件。 它可以帮助网络编程人员、网络维护人员检查所开发的网络应用软硬件的通信状况。 是一款非常好用...
SuperSocket Socket C# 通讯详细介绍,不错的 Socket,学习很有用处SuperSocket Socket 技能
c#超级Socket库SuperSocket,SOCKET多线程编程
socket概念socket概念socket概念
C# 版socket 收发TCP协议有模版样例
socket详解 socket详解 socket详解 socket详解 socket详解 socket详解 socket详解 socket详解
SuperSocket-master_Socket 、Socket、SuperSocket、TCP、UDP
基于vue3+socket.io的聊天应用,比较完整,略好看 基于vue3+socket.io的聊天应用,比较完整,略好看 基于vue3+socket.io的聊天应用,比较完整,略好看 基于vue3+socket.io的聊天应用,比较完整,略好看 基于vue3...
SocketTool SocketTool SocketTool SocketTool SocketTool
Socket在哪里呢?Socket在哪里呢?Socket在哪里呢?Socket在哪里呢?Socket在哪里呢?Socket在哪里呢?
socket功能,在mql中是用socket套接字
sokit socket调试 tcp udp for mac
socket 服务器侦听socket 服务器侦听socket 服务器侦听socket 服务器侦听socket 服务器侦听socket 服务器侦听socket 服务器侦听socket 服务器侦听socket 服务器侦听socket 服务器侦听socket 服务器侦听socket 服务器...
模拟Socket通讯服务端,实现网络通讯社数据的接收,根据接收数据判断处理
socket通讯 连接 服务端和客户端 Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信。两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送...
c socket pyton socketc socket pyton socket
C#Socket高并发_socket_socket并发_c#socket_C#_socket高并发_源码.zip
HP-Socket是一套通用的高性能TCP/UDP/HTTP 通信框架,包含服务端...HP-Socket对通信层完全封装,应用程序不必关注通信层的任何细节;HP-Socket提供基于事件通知模型的API接口,能非常简单高效地整合到新旧应用程序中
一个开源的高性能IOCP(完成端口)网络通信封装框架《HP-Socket》的使用实例,官方的DEMO只有MFC对话框的版本,对于刚接触这个框架的新手不太容易把代码移植到自己的项目。 此DEMO使用标准C++控制台来实现,对于刚...