我有以下示例代码。我想要实现的是能够从两个不同的选择中动态选择要连接的IP地址,我希望能够根据用户输入选择这个,但我不知道如何实现这一点。
我强烈怀疑它应该使用Socket()方法构造函数,特别是具有signature with 4 arguments的第一个实例 这应该允许你指定使用公共Socket(InetAddress地址,int端口,InetAddress localAddr,int LocalPort)抛出IOException方法,可以使用第三个参数来指定要使用的IP地址。
我也听说过关于bind()方法的好消息
import java.io.*;
import java.net.*;
import java.util.*;
import static java.lang.System.out;
public class ListNets {
public static void main(String args[]) throws SocketException {
Enumeration<NetworkInterface> nets = NetworkInterface.getNetworkInterfaces();
for (NetworkInterface netint : Collections.list(nets))
displayInterfaceInformation(netint);
}
static void displayInterfaceInformation(NetworkInterface netint) throws SocketException {
out.printf("Display name: %s\n", netint.getDisplayName());
out.printf("Name: %s\n", netint.getName());
Enumeration<InetAddress> inetAddresses = netint.getInetAddresses();
for (InetAddress inetAddress : Collections.list(inetAddresses)) {
out.printf("InetAddress: %s\n", inetAddress);
}
out.printf("\n");
}
}
该代码顶部吐出IP地址,但它也返回一堆“无用”信息,例如我不想要的以太网地址,如何隔离我感兴趣的IP地址? / p>
另外,什么是展示我的IP地址的有效方法?也许连接到whois.com
答案 0 :(得分:0)
该代码顶部吐出IP地址,但它也返回了一堆&#34;无用的&#34;信息,例如我不想要的以太网地址,如何隔离我感兴趣的IP地址?
简单。除了 IP地址外,不要打印任何。删除打印其他内容的代码。
至于您的强烈怀疑,您已经在以前的两个问题中告知您应该使用四参数Socket
构造函数。