CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 扩展类

如何用java,net包实现一个简单的ping

楼主iskohl()2006-02-01 05:44:51 在 Java / J2SE / 扩展类 提问

只需要很简单的知道,被ping的地址有没有在监听即可(ServerSocket.listen)  
  我想了个方法,建立一个Socket   去连接要ping的地址,如果虚拟机抛出一个ConnectionException  
  就catch住这个异常,在catch块里执行相关操作,这样可行么?程序差不多是下面这个样子。  
   
  try{  
        Socket   s=new   Socket(ping_add,ping_port);  
  }  
  catch(IOException   e){  
  //TODO  
  }  
  这里用IOException是因为ConnectionException被包含在IOException里面了 问题点数:20、回复次数:6Top

1 楼hzhou(神龙)回复于 2006-02-01 11:15:36 得分 0

package   beanexport;  
   
  import   java.io.InputStream;  
   
  /**  
    *   <p>标题:   Ping</p>  
    *   <p>描述:   </p>  
    *   <p>版权:   Copyright   (c)   2006</p>  
    *   <p>公司:   </p>  
    *   @作者   hzhou(神龙)   @   csdn  
    *   @version   1.0  
    */  
   
  public   class   Ping   {  
      public   Ping()   {  
      }  
   
      public   static   void   main(String[]   args)   {  
          Runtime   rt   =   Runtime.getRuntime();  
          try   {  
              /*  
                *   以下代码使用Runtime类在一个subprocess中运行所在平台  
                *   的native命令。  
                */  
              Process   ps   =   rt.exec("ping   www.csdn.net");  
   
              /*  
                *   ping命令的output会定向到subprocess的InputStream。  
                *   得到此InputStream,   然后输出到你希望的地方。  
                */  
              InputStream   is   =   ps.getInputStream();  
              int   t;  
              while   (   (t   =   is.read())   !=   -1)   {  
                  System.out.print(   (char)   t);  
              }  
          }  
          catch   (Exception   se)   {}  
   
      }  
  }Top

2 楼iskohl()回复于 2006-02-01 18:25:41 得分 0

楼上的是调用   ping命令了,可以不用它实现吗?捕捉异常是否可行呢?Top

3 楼sheep219(sheep219)回复于 2006-02-03 11:21:39 得分 0

同意   hzhou(神龙)Top

4 楼josy(风尘浪子)回复于 2006-02-06 10:10:15 得分 0

学习Top

5 楼whycloud(云木)回复于 2006-02-07 12:04:40 得分 0

通过IP地址获取主机名,如果过有异常,说明没有PING到,如果获取,说明PING到Top

6 楼lesstif(品位人生)回复于 2006-02-08 21:37:49 得分 0

Java   不能处理raw   data,   所以Java   本身不能写ping程序,建议你到www.javasoft.com上看看,呵呵Top

相关问题

  • 经常收到ping包?
  • JAVA打包
  • 关于ping,ipconfig和net
  • java打包问题
  • 包装java程序
  • 奇怪,无法Ping通300以上包~~~~
  • JDBC-NET纯JAVA.
  • JDBC-NET纯JAVA
  • .net 与 java
  • java还是.net

关键词

  • runtime
  • socket
  • ping
  • inputstream
  • 命令
  • 地址
  • ioexception
  • catch

得分解答快速导航

  • 帖主:iskohl

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo