posts - 241,  comments - 116,  trackbacks - 0
          Java實現ping用Java來Ping機器,有兩個做法。一個是傳統的調用命令行執行Ping命令的做法。這種做法的好處是速度快,比較可靠。缺點 是,不同的操作系統,甚至Windows的不同版本,其執行和返回結果格式都可能不同,造成跨平臺的不便以及代碼的啰嗦。第二個方法自然就是使用大家都熟 知的Java 5提供的InetAddress的isReachable方法。這個函數并非使用ICMP的ping,而是僅僅用TCP連一下7號端口而已。參考代 碼:public static boolean ping(String ip) {淘寶女裝夏裝新款
                  try {
                      InetAddress ipaddress = InetAddress.getByName(ip);
                      return ipaddress.isReachable(2000);
                  } catch (Exception ex) {
                      ex.printStackTrace();
                      return false;
                  }
              }
          SNMP ping

          所謂SNMP Ping其實就是用SNMP去get一個非常基本的OID看對方有無反應。如果能夠返回數據,說明這是一個SNMP節點,可以通過SNMP配合MIB庫去 獲取更多的業務數據。例如磁盤、CPU、內存、端口力量等等基本的信息,都有相關的SNMP MIB進行定義。

          SnmpContextv2c context = new SnmpContextv2c(ip, 161);
          context.setCommunity("public");
          BlockPdu pdu = new BlockPdu(context);
          pdu.setRetryIntervals(new int[] { 1000 });
          String sysUpTime = "1.3.6.1.2.1.1.3.0";
          pdu.addOid(sysUpTime);
          Object result = pdu.getResponseVariable();
          代碼中用v2c,并假設community是public,超時時間1秒。獲取sysUpTime也就是設備啟動時間。如果有返回,認為節點存在且SNMP協議已啟動。
          posted on 2011-05-20 14:56 墻頭草 閱讀(2539) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          人人游戲網 軟件開發網 貨運專家
          主站蜘蛛池模板: 安溪县| 盖州市| 鹤庆县| 资讯 | 陆丰市| 炉霍县| 资溪县| 改则县| 涿州市| 集贤县| 新邵县| 武穴市| 龙里县| 迭部县| 怀宁县| 高碑店市| 张北县| 麻阳| 丽江市| 四会市| 新余市| 牙克石市| 离岛区| 新安县| 博野县| 武威市| 鞍山市| 河北区| 渭南市| 阜南县| 瑞丽市| 瑞安市| 松潘县| 额济纳旗| 武平县| 南宁市| 普格县| 平定县| 德州市| 南江县| 西昌市|