zoukankan      html  css  js  c++  java
  • snmp4j 过滤错误的节点

    1.主要代码如下: 开发包(snmp4j.jar)

    // 省略了导入的包
    public
    class SnmpTest1 { public static void main(String[] args) { try { Snmp snmp = new Snmp(new DefaultUdpTransportMapping()); snmp.listen(); CommunityTarget target = new CommunityTarget(); target.setAddress(GenericAddress.parse("udp:192.168.100.61/161")); target.setCommunity(new OctetString("public")); target.setTimeout(1000); target.setRetries(2); target.setVersion(SnmpConstants.version1); PDU pdu = new PDU(); pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.2.0"))); pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.3.1"))); pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.3.2"))); pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.3.3"))); pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.3.4"))); pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.4.0"))); PDU newpdu = getSucPDU(snmp,target,pdu); ResponseEvent event = snmp.get(newpdu, target); PDU resp = event.getResponse(); for (int i = 0; i < resp.size(); i++) { VariableBinding vb = resp.get(i); System.out.println(vb.getOid().toString() +"^^^^"+ vb.getVariable()); } } catch (IOException e) { e.printStackTrace(); } } private static PDU getSucPDU(Snmp snmp, CommunityTarget target, PDU pdu) throws IOException { ResponseEvent event = snmp.get(pdu, target); PDU resp = event.getResponse(); int errorIndex = resp.getErrorIndex(); if(errorIndex != 0){ VariableBinding vb = resp.get(errorIndex -1); OID errorOid = vb.getOid(); System.out.println(errorOid + ":" + resp.getErrorStatusText()); pdu.remove(errorIndex-1); getSucPDU(snmp,target,pdu); return pdu; } return null; } }

    2. 运行结果为:
     
  • 相关阅读:
    08月24日总结
    08月23日总结
    08月22日总结
    装饰器
    卢菲菲最强大脑记忆训练法全套教程 01
    LeetCode 704 二分查找
    LeetCode 1480 一维数组的动态和
    NIO 总结
    LeetCode 881 救生艇
    url的组成部分
  • 原文地址:https://www.cnblogs.com/beibidewomen/p/7217992.html
Copyright © 2011-2022 走看看