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