`

第2章:基本套接字InetAddress

阅读更多
import java.util.Enumeration;
import java.net.NetworkInterface;
import java.net.InetAddress;
import java.net.Inet4Address;
import java.net.Inet6Address;
import java.net.SocketException;
import java.net.UnknownHostException;

public class InetAddressExample {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		try {
			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("\r(No address for this interface0)");
					}
					while (addrList.hasMoreElements()) {
						InetAddress address =addrList.nextElement();
						System.out.println("\tAddress"
								+ ((address instanceof Inet4Address ? "(v4)"
								:(address instanceof Inet6Address ? "(v6)" : "(?)"))));
						System.out.println(":" + address.getHostAddress());
					}
				}
			}
		} catch (SocketException e) {
			System.out.println("Error getting network interfaces:" + e.getMessage());
		}

		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 to find address for" + host);
			}
		}
	}

}
 
分享到:
评论

相关推荐

    第10章:网络与数据库编程.ppt

    本章节主要讨论Java语言在网络编程和数据库编程方面的应用,包括TCP/IP协议、IP地址、InetAddress类、网络套接字、数据库连接、数据表查询、数据记录修改和插入等知识点。 Java网络编程基础: 1. TCP/IP协议:TCP/...

    套接字客户端和服务器java代码

    两个常用的构造函数是 Socket(InetAddress addr, int port) 和 Socket(String host, int port),两个构造函数都创建了一个基于Socket的连接服务器端流套接字的流套接字。对于第一个InetAddress子类对象通过addr参数...

    完整超详细版 耿祥义 Java大学实用教程(第2版)PPT课件 第11章 Java中的网络编程 (共29页).ppt

    6. **套接字(Socket)**:套接字是网络通信的基本单元,它代表了两个网络端点间的通信链路。`java.net.Socket`类用于建立TCP连接,提供双向数据传输。创建Socket对象并指定服务器的IP地址和端口号,即可建立连接。 ...

    Java2实用教程第4版-第13章-Java网络编程.ppt

    在学习这部分内容时,理解URL的构造和资源访问、掌握`InetAddress`的使用、熟悉套接字的创建与通信过程,以及了解UDP和RMI的基本概念,是至关重要的。通过编写实际的网络编程示例,可以更好地理解和应用这些知识。在...

    第14章Java网络编程ppt课件.ppt

    套接字是网络通信的基础,它允许两个程序通过网络互相通信。在网络中,每个程序都有一个IP地址和一个端口号来唯一标识。 - **客户端套接字**: 客户端使用`Socket`类来建立到服务器的连接。创建一个新的套接字...

    《java基础入门》第三版 第十三章作业.doc

    2. **Socket类型**:Java提供了三种类型的Socket:流式套接字(Stream Sockets)、数据报套接字(Datagram Sockets)和原始套接字(Raw Sockets)。选项D“网络套接字”不是一个标准的Socket类型,因此是错误的。 3...

    Java中实现UDP协议编程的方法

    - `DatagramSocket(int port, InetAddress localAddr)`:创建一个新的绑定到指定地址和端口的UDP套接字。 - **DatagramPacket**:封装了要发送或接收的数据。它可以通过以下几种构造方法创建: - `...

    完整版 Java高级教程 Java语言程序设计 第3章 Java网络基础知识(共15页).ppt

    7. **其他相关概念**:除了以上提到的,Java网络编程还涉及TCP/IP协议、套接字(Socket)、服务器套接字(ServerSocket)、多线程(用于处理并发连接)等概念。 掌握这些基础知识,开发者可以构建各种基于Java的...

    Java与网络编程.rar

    1. 套接字编程:Java的`java.net.Socket`和`java.net.ServerSocket`类是进行客户端-服务器通信的基础。客户端通过创建`Socket`对象连接到服务器的特定端口,而服务器则通过创建`ServerSocket`监听指定端口上的连接...

    java实验六计算机网络编程.pdf

    在Java编程中,网络编程是实现不同设备间通信的关键领域,它涉及到TCP/IP协议栈、套接字(Socket)和数据传输。本实验主要涵盖了两个关键知识点:Socket通信和UDP通信,以及如何利用InetAddress和URL类进行网络操作...

    计算机网络课程设计ping程序

    在Java中,可以通过java.net.Socket类的子类DatagramSocket或RawSocket(非标准API,通常需要借助于第三方库)来创建原始套接字。通过原始套接字,我们可以构建自定义的头部和负载,实现对ICMP协议的支持。 其次,...

    java网络编程代码集合

    7. **第8章实例**:可能涉及到套接字选项和网络配置,如设置超时,禁用Nagle算法,或者处理TCP/IP的滑动窗口等。 8. **第9章实例**:可能包括了网络安全方面,比如SSL/TLS加密通信。Java提供了JSSE(Java Secure ...

    基于JavaSocket多客户端并发通信聊天程序的设计与实现

    其中,第二种方法更为常见,因为它能够更高效地利用资源,并简化程序设计。在这种模式下,服务器端的`ServerSocket`接受客户端连接请求后,为每个连接创建一个新的线程来处理通信过程,从而实现多客户端并发通信。 ...

    JAVA网络编程从入门到精通

    `Socket`类提供了许多getter和setter方法来获取和设置套接字的各种属性。 - **getter方法**:如`getInputStream()`、`getOutputStream()`、`getInetAddress()`等。 - **setter方法**:如`setSoTimeout(int timeout)...

    JAVA程序开发技术

    **3.6.1 通过流套接字连接实现客户机/服务器的交互** - **示例**:简单的聊天室。 **3.6.2 可以服务于多个客户端的多线程程序** - **示例**:多客户端并发聊天室。 #### 第四章:JDBC技术 **4.1 概述** - **定义*...

    Java SE完整版精品优质课件 自学入门必看的优秀Java基础知识培训教案 第14章_java网络编程(共42页).rar

    1. **套接字(Socket)编程**:Java中的`java.net.Socket`和`ServerSocket`类是实现客户端-服务器模型的基础。Socket类代表网络上的一个端点,而ServerSocket则用于监听特定端口的连接请求。 2. **TCP和UDP协议**:...

    显示本地IP地址代码

    获取本地IP地址的代码通常会涉及到操作系统提供的网络接口,例如在Windows上使用套接字库(Winsock),在Unix/Linux系统中则可能利用`ifconfig`命令或者套接字API。在编程语言中,如Python、Java、C++等,都有相应的...

    java pptJava 中的网络编程

    java课程ppt,第11章 Java 中的网络编程, 1. URL类 2. 读取URL中的资源 3. 显示URL资源中的HTML文件 4. 处理超链接 5. InetAddress类 6. 套接字Socket 7. 使用多线程处理套接字连接 8. UDP数据报 9. 广播数据包

    Z00433+Java+TCP+IP+Socket编程++原书第2版

    - 在Java中,`java.net.Socket`类代表TCP套接字,`java.net.DatagramSocket`类代表UDP套接字。 - 创建Socket时,需要指定远程主机的IP地址和端口号,然后可以通过输入/输出流进行数据交换。 4. **TCP Socket编程*...

Global site tag (gtag.js) - Google Analytics