Java 测试SNMP连接可用性

Java 测试SNMP连接可用性,java,snmp,Java,Snmp,有没有办法在java中测试SNMP连接可用性?我正在使用api 测试任何资源可用性的最佳方法是尝试使用它。无论如何,当你使用它时,你必须处理失败。为什么要写两次相同的代码?为什么要预测未来呢?您可以使用INFORM PDU而不是TRAP PDU。通过这种方式,陷阱接收器将向您发送一个响应,以确认它已收到通知。此外,为了明确说明:任何告诉您资源是否可用的测试,在您实际尝试使用它时,可能会在下一秒过期。不过,测试位可能是其程序的预期功能“风可以吹向一个方向,但实际上会把你吹向另一个方向,就像航海一样

有没有办法在java中测试SNMP连接可用性?我正在使用api


测试任何资源可用性的最佳方法是尝试使用它。无论如何,当你使用它时,你必须处理失败。为什么要写两次相同的代码?为什么要预测未来呢?

您可以使用INFORM PDU而不是TRAP PDU。通过这种方式,陷阱接收器将向您发送一个响应,以确认它已收到通知。

此外,为了明确说明:任何告诉您资源是否可用的测试,在您实际尝试使用它时,可能会在下一秒过期。不过,测试位可能是其程序的预期功能“风可以吹向一个方向,但实际上会把你吹向另一个方向,就像航海一样,你可以利用风向错误,仍然可以到达你想去的地方。“-Pete Seeger在2001年春季的《全地球评论》中引用了他的话。@Recc最好的测试仍然是尝试使用。是的,但如果没有可用的SNMP,它不会引发任何异常,它只是发送。
         try {
            long timeTicks = System.currentTimeMillis();
            while (timeTicks > 4294967295L) { timeTicks-= 4294967295L; }
            SnmpTrap trap = new SnmpTrap(timeTicks, new SnmpOID(oid));
            try {
                InetAddress inet = InetAddress.getByName(agentIp);
                agentIp = inet.getHostAddress();
            } catch (Exception e2) {
                System.out.println("SendSNMPTrap::sendVersion2c unable to resolve "+agentIp+" to real IP. Exception="+e2.toString());
            }

            trap.addVarBinds(vb.getVarbinds());
            SnmpTrapSender.sendTrap(destHost, port, trap, true, community);
         } catch (Exception e) {
             logger.error("SendSNMPTrap::sendVersion2c Exception="+e.toString());
             result = false;
         }