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 墻頭草 閱讀(2535) 評論(0)  編輯  收藏

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


          網站導航:
           
          人人游戲網 軟件開發網 貨運專家
          主站蜘蛛池模板: 梅州市| 沙坪坝区| 吉木乃县| 武乡县| 沙湾县| 精河县| 玉门市| 二手房| 阜新| 文昌市| 连州市| 宝丰县| 文安县| 姚安县| 兴化市| 安国市| 钟山县| 邢台县| 红原县| 闽侯县| 手游| 长丰县| 永德县| 锡林郭勒盟| 久治县| 潮州市| 马关县| 浑源县| 长宁区| 平度市| 望城县| 成都市| 苍溪县| 务川| 阿克苏市| 游戏| 宜宾市| 乐至县| 郓城县| 定南县| 鞍山市|