package step1; import java.net.InetAddress; import java.net.UnknownHostException; public class InetAddressExample { public static void main(String[] args) throws UnknownHostException { // ---------------------Begin------------------------ // 获取两个东西:主机名,IP地址 // ---------------------End------------------------ } }
时间: 2023-08-15 13:42:48 浏览: 114
这是一个用Java编写的获取主机名和IP地址的示例程序,其中使用了Java的网络编程相关类InetAddress。
您可以将下面的代码填入上述程序的Begin和End之间,来获取本机的主机名和IP地址:
```
// 获取本机的主机名和IP地址
InetAddress localHost = InetAddress.getLocalHost();
String hostName = localHost.getHostName();
String hostAddress = localHost.getHostAddress();
System.out.println("本机主机名:" + hostName);
System.out.println("本机IP地址:" + hostAddress);
```
运行程序后,您将会在控制台上看到类似如下的输出:
```
本机主机名:hostname
本机IP地址:192.168.0.1
```
其中,hostname是本机的主机名,192.168.0.1是本机的IP地址。
相关问题
package com.test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; import java.util.Scanner; public class ChatClient { public static void main(String[] args) throws UnknownHostException, IOException { Socket sk=new Socket(InetAddress.getByName("127.0.0.1"),9090); //打开读取的字节流 InputStream is = sk.getInputStream(); //字节流转换为字符流量 InputStreamReader isr=new InputStreamReader(is); //添加buffered BufferedReader br=new BufferedReader(isr); String str = br.readLine(); System.out.println("服务器:"+str); //定义一个输入器 Scanner mys=new Scanner(System.in); System.out.println("请输入您要发送的内容:"); String sa=mys.next(); OutputStream os = sk.getOutputStream(); OutputStreamWriter osw = new OutputStreamWriter(os); BufferedWriter bw = new BufferedWriter(osw); bw.write(sa); bw.newLine(); bw.flush(); } }
这是一个Java编写的聊天客户端程序。它创建了一个套接字(Socket)连接到本地IP地址为"127.0.0.1",端口号为9090的服务器。程序从套接字的输入流中获取数据,将字节流转换为字符流并使用缓冲区来读取。然后,程序从控制台读取用户的输入,并将数据写入套接字的输出流中,由服务器进行接收和处理。请注意,此程序只发送一次消息,然后就退出了。
ChatClient.java程序: package com.test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; import java.util.Scanner; public class ChatClient { Public static void main(String[] args) throws UnknownHostException IOException { Socketsk=newSocket(InetAddress.getByName("127.0.0.1"),9090); //打开读取的字节流 InputStream is = sk.getInputStream(); //字节流转换为字符流量 InputStreamReader isr=new InputStreamReader(is); //添加buffered BufferedReader br=new BufferedReader(isr); String str = br.readLine(); System.out.println("服务器:"+str); //定义一个输入器 Scanner mys=new Scanner(System.in); System.out.println("请输入您要发送的内容:"); String sa=mys.next(); OutputStream os = sk.getOutputStream(); OutputStreamWriter osw = new OutputStreamWriter(os); BufferedWriter bw = new BufferedWriter(osw); bw.write(sa); bw.newLine(); bw.flush(); } }
这段代码是一个简单的聊天客户端程序,它会连接到本地IP地址为127.0.0.1,端口号为9090的服务端程序,并发送一条消息。具体来说,它的执行过程如下:
1. 创建一个Socket对象,指定要连接的服务端的IP地址和端口号;
2. 通过Socket对象获取输入流,然后将字节流转换为字符流,再添加缓冲区,最后读取服务端发送过来的一行消息;
3. 创建一个Scanner对象,让用户输入要发送的消息;
4. 通过Socket对象获取输出流,然后将字符流转换为字节流,再添加缓冲区,最后将用户输入的消息发送给服务端。
需要注意的是,这段代码只是一个简单的示例,实际上在真正的聊天应用中还需要考虑很多其他的因素,如多个客户端同时连接、消息的序列化和反序列化、消息的广播等等。
阅读全文