0

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

         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;
         }
4

2 回答 2

1

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

于 2012-07-12T12:50:34.920 回答
0

您可以使用 INFORM PDU 代替 TRAP PDU。这样,Trap Receiver 将向您发送回复以确认它已收到 INFORM。

于 2015-03-24T14:17:30.040 回答