黑马程序员技术交流社区
标题:
网络编程
[打印本页]
作者:
珊湖礁
时间:
2013-12-4 22:41
标题:
网络编程
本帖最后由 珊湖礁 于 2013-12-5 14:24 编辑
怎样编一个程序,将本地计算机所有网络接口的信息打印出来?(要显示每个接口名称、是否支持多点传送、物理地址、ip地址)
作者:
王家胜
时间:
2013-12-5 12:36
import java.net.InetAddress;
import java.net.InterfaceAddress;
import java.net.NetworkInterface;
import java.util.List;
public class F {
public static void main(String[] args) throws Exception
{
InetAddress ia=InetAddress.getLocalHost();
NetworkInterface ni=NetworkInterface.getByInetAddress(ia);
List<InterfaceAddress> list=ni.getInterfaceAddresses();;
for(int i=0;i<list.size();i++)
{
InterfaceAddress ifa=list.get(i);
InetAddress f=ifa.getAddress();
System.out.println(f.getHostAddress());
}
}
}
复制代码
作者:
王家胜
时间:
2013-12-5 13:09
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.Enumeration;
public class F {
public static void main(String[] args) throws Exception
{
Enumeration<NetworkInterface> ni=NetworkInterface.getNetworkInterfaces();
while(ni.hasMoreElements())
{
NetworkInterface list=ni.nextElement();
Enumeration<InetAddress> ia=list.getInetAddresses();
while(ia.hasMoreElements())
{
InetAddress ias=ia.nextElement();
NetworkInterface n=NetworkInterface.getByInetAddress(ias);
if(ias.getHostName()!=null&&!"".equalsIgnoreCase(ias.getHostName())&&ias.getHostAddress()!=null&&!"".equalsIgnoreCase(ias.getHostAddress())&&list.getName()!=null&&!"".equalsIgnoreCase(list.getName())&&list.getDisplayName()!=null&&!"".equalsIgnoreCase(list.getDisplayName()))
{
System.out.print(list.getName());
System.out.println("\t网卡名字:\t"+list.getDisplayName());
System.out.print("\t\t"+ias.getHostName());
System.out.println("\t"+ias.getHostAddress());
System.out.println("------------------------------");
}
}
}
}
}
复制代码
这是完整答案,没听说过多点传送,只听说过点对点传送
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2