变相怪杰 发表于 2015-1-18 11:02:14

了解下JAVA的怎样利用Java测试收集连通性

市场分额,java比asp高一点,因为C#是仿照java开发的,所以哦C#能做的java都能做到,但是java能做的,C#不一定都能做到。毕竟是抄袭吗。
概述
在收集编程中,偶然我们必要判别两台呆板之间的连通性,大概说是一台呆板到另外一台呆板的收集可达性。在体系层面的测试中,我们经常用Ping命令来做考证。只管Java供应了对照丰厚的收集编程类库(包含在使用层的基于URL的网络资本读取,基于TCP/IP层的Socket编程,和一些帮助的类库),可是没有间接供应相似Ping命令来测试收集连通性的办法。本文将先容怎样经由过程Java已有的API,编程完成各类场景下两台呆板之间的收集可达性判别。鄙人面的章节中,我们会利用Java收集编程的一些类库java.net.InetAddress和java.net.Socket,经由过程例子注释怎样摹拟Ping命令。
复杂判别两台呆板的可达性
一样平常情形下,我们仅仅必要判别从一台呆板是不是能够会见(Ping)到另外一台机器,此时,能够复杂的利用Java类库中java.net.InetAddress类来完成,这个类供应了两个办法探测远程呆板是不是可达
booleanisReachable(inttimeout)//测试地点是不是可达
booleanisReachable(NetworkInterfacenetif,intttl,inttimeout)
//测试地点是不是可达.
复杂说来,上述办法就是经由过程远端呆板的IP地点构造InetAddress对象,然后挪用其isReachable办法,测试挪用呆板和远端呆板的收集可达性。注重到远端呆板大概有多个IP地点,因此大概要迭代的测试一切的情形。
清单1:复杂判别两台呆板的可达性

voidisAddressAvailable(Stringip){
try{
InetAddressaddress=InetAddress.getByName(ip);//pingthisIP

if(addressinstanceofjava.net.Inet4Address){
System.out.println(ip+"isipv4address");
}else
if(addressinstanceofjava.net.Inet6Address){
System.out.println(ip+"isipv6address");
}else{
System.out.println(ip+"isunrecongized");
}

if(address.isReachable(5000)){
System.out.println("SUCCESS-ping"+IP+"withnointerfacespecified");
}else{
System.out.println("FAILURE-ping"+IP+"withnointerfacespecified");
}

System.out.println("
-------Tryingdifferentinterfaces--------
");

Enumeration<NetworkInterface>netInterfaces=
NetworkInterface.getNetworkInterfaces();
while(netInterfaces.hasMoreElements()){
NetworkInterfaceni=netInterfaces.nextElement();
System.out.println(
"Checkinginterface,DisplayName:"+ni.getDisplayName()+",Name:"+ni.getName());
if(address.isReachable(ni,0,5000)){
System.out.println("SUCCESS-ping"+ip);
}else{
System.out.println("FAILURE-ping"+ip);
}

Enumeration<InetAddress>ips=ni.getInetAddresses();
while(ips.hasMoreElements()){
System.out.println("IP:"+ips.nextElement().getHostAddress());
}
System.out.println("-------------------------------------------");
}
}catch(Exceptione){
System.out.println("erroroccurs.");
e.printStackTrace();
}
}程序输入

--------------START--------------

10.13.20.70isipv4address
SUCCESS-ping10.13.20.70withnointerfacespecified

-------Tryingdifferentinterfaces--------

Checkinginterface,DisplayName:MSTCPLoopbackinterface,Name:lo
FAILURE-ping10.13.20.70
IP:127.0.0.1
-------------------------------------------
Checkinginterface,DisplayName:Intel(R)Centrino(R)Advanced-N6200AGN-
Teefer2Miniport,Name:eth0
FAILURE-ping10.13.20.70
IP:9.123.231.40
-------------------------------------------
Checkinginterface,DisplayName:Intel(R)82577LMGigabitNetworkConnection-
Teefer2Miniport,Name:eth1
SUCCESS-ping10.13.20.70
-------------------------------------------
Checkinginterface,DisplayName:WAN(PPP/SLIP)Interface,Name:ppp0
SUCCESS-ping10.13.20.70
IP:10.0.50.189
-------------------------------------------

--------------END--------------<p>
Java到底会发战成什么样,让我们拭目以待吧,我始终坚信着java会更好。以上都是俺个人看法,欢迎大家一起交流.

小女巫 发表于 2015-1-20 12:55:25

是一种为 Internet发展的计算机语言

admin 发表于 2015-1-27 08:25:35

一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。

愤怒的大鸟 发表于 2015-2-5 03:04:36

是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言

冷月葬花魂 发表于 2015-2-11 02:35:12

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

因胸联盟 发表于 2015-3-1 19:41:45

其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。

飘灵儿 发表于 2015-3-10 22:38:22

Java是一种计算机编程语言,拥有跨平台、面向对java

谁可相欹 发表于 2015-3-17 11:37:41

你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。

柔情似水 发表于 2015-3-24 09:15:52

Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
页: [1]
查看完整版本: 了解下JAVA的怎样利用Java测试收集连通性