获取客户端IP地址并记录在本地"E:\\ip"中Java语言
时间: 2023-09-03 22:08:08 浏览: 93
可以使用Java中的Socket和InetAddress类来获取客户端的IP地址,并将其记录在本地文件中。具体实现如下:
```java
import java.io.FileWriter;
import java.io.IOException;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
public class GetClientIP {
public static void main(String[] args) {
try {
// 创建ServerSocket对象,指定端口号
ServerSocket serverSocket = new ServerSocket(8080);
System.out.println("服务器已启动,等待客户端连接...");
// 监听客户端的连接请求
Socket socket = serverSocket.accept();
// 获取客户端的IP地址
InetAddress inetAddress = socket.getInetAddress();
String ip = inetAddress.getHostAddress();
System.out.println("客户端IP地址为:" + ip);
// 将IP地址写入本地文件
FileWriter writer = new FileWriter("E:\\ip", true);
writer.write(ip + "\n");
writer.flush();
writer.close();
// 关闭Socket和ServerSocket
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上述代码中,首先创建ServerSocket对象并监听客户端的连接请求,然后获取客户端的IP地址并将其写入本地文件中,最后关闭Socket和ServerSocket。需要注意的是,这里使用了FileWriter类来将IP地址写入本地文件,同时需要指定文件路径和文件名。另外,由于可能有多个客户端连接服务器,因此可以考虑将上述代码放在一个循环中,以便不断获取客户端的IP地址并记录在本地文件中。
阅读全文