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");
}
}
}
分享到:
相关推荐
【标题】"HPSocket.Net-develop_hpsocket.net_HPSocket_.net_socket_tcp_" 提供的知识点主要集中在使用C#编程语言实现基于TCP协议的Socket通信上,并且涉及到一个名为"HPSocket.Net"的库。HPSocket.Net是针对.NET...
**SuperSocket库详解** SuperSocket是一款高性能、轻量级的C# Socket服务器开发框架,它为开发者提供了构建基于TCP/IP协议的应用程序的便利工具。在.NET平台上,SuperSocket以其易于扩展和高度定制化的特性,成为了...
SocketTool是一款专为IT专业人士设计的实用工具,主要用于处理网络通信中的套接字(Socket)操作。套接字是计算机网络编程中的一个基本概念,它提供了进程间通信(IPC)和网络通信的能力,使得不同设备上的应用程序...
**SuperSocket Socket C# 通讯详解** 在C#编程领域,网络通信是一个不可或缺的部分,而SuperSocket则是一个强大且易用的.NET Socket服务器框架。它为开发者提供了构建自定义网络应用服务的基础,使得处理TCP连接变...
Socket 编程详解 在网络编程中,Socket 是一个基本概念, plays a crucial role in building network applications. 在 C# 中,Socket 编程是通过使用 System.Net.Sockets 命名空间中的类和方法来实现的。下面,...
**SuperSocket:强大的.NET Socket框架** SuperSocket是一个高度可扩展且易于使用的.NET Socket服务端开发框架,它简化了基于Socket的网络应用开发过程。SuperSocket提供了丰富的API和强大的功能,使得开发者可以...
SocketTool调试软件是一款网络TCP/UDP通信调试工具,本工具集功能强大与简单易用为一体,是无需安装的免费绿色软件。 它可以帮助网络编程人员、网络维护人员检查所开发的网络应用软硬件的通信状况。 是一款非常好用...
在IT行业中,网络通信是至关重要的一个领域,而Socket编程是构建网络应用程序的基础。本资源“基于HPSocket实现socket通讯 - 修正版 ( C# demo 、 C++ dll )”提供了一种实用的方法,帮助开发者高效地实现跨平台的...
SocketTool是一款功能强大的TCP/UDP Socket调试工具,版本为V2.2,它为开发者提供了便利的网络通信测试环境。Socket编程是计算机网络编程的基础,主要用于实现不同设备间的通信。这款工具能够帮助开发者模拟Socket...
Socket.IO和Socket.IO-Client是两个非常重要的库,主要用于实现实时双向通信,尤其是在Web开发领域。它们使得JavaScript客户端(浏览器)与Node.js服务器之间能够建立WebSocket风格的连接,提供了强大的实时通信解决...
Socket池和Socket连接池是网络编程中的重要概念,主要用于提高应用程序的性能和效率。在处理大量并发网络连接时,传统的单个Socket连接方式可能会导致系统资源的过度消耗,因此引入了Socket池技术。 Socket,全称是...
在Android平台上,Socket通信是应用程序之间进行数据交换的重要方式,特别是在需要实时通信或者低延迟的场景下,如游戏、聊天应用等。`io.socket`库是Android开发者常用来实现WebSocket和TCP/IP Socket通信的一个...
HPSocket是一款强大的网络通信组件,它为程序员提供了一套高效、稳定且易于使用的网络编程接口。这个组件包括了静态库HPSocket.lib和动态库HPSocket_D.lib,以及一系列必要的头文件,使得开发者可以在自己的项目中...
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); // 创建代理IPEndPoint IPEndPoint proxyEndpoint = new IPEndPoint(IPAddress.Parse(proxyHost), proxyPort);...
1. **集成Socket服务**:在Spring中集成Socket服务,我们通常会使用`java.net.ServerSocket`类来创建服务器端的Socket,并通过`java.net.Socket`处理客户端连接。为了将Socket服务与Spring框架结合,我们可以创建一...
在MATLAB环境中实现Socket通信是将强大的MATLAB计算能力与网络通信功能相结合的重要技术。Socket是一种网络编程接口,它允许程序之间通过网络进行双向通信。MATLAB提供了丰富的工具和函数来支持Socket通信,使得用户...
而将UART与网络socket结合,可以实现串口数据与网络数据的互换,扩大通信范围,尤其适用于远程控制和监控系统。下面我们将深入探讨这个主题。 首先,`linux_uart___socket`标签表明我们关注的是在Linux操作系统中的...
Socket测试工具是网络编程中非常重要的辅助软件,主要用于检测和调试基于Socket协议的网络通信问题。Socket,也称为套接字,是应用层与传输层之间的接口,它允许应用程序通过TCP/IP协议进行数据交换。在开发网络应用...
在IT行业中,网络编程是构建分布式系统和互联网应用程序的基础,而Socket编程是网络通信的核心。本文将深入探讨“跨平台的socket库,windows-linux-socket”这一主题,旨在帮助开发者理解如何在Windows和Linux操作...