今天在跟其他公司做对接的时候,那边反应,每个OID前面都有一个“.”,而且通用的几个OID后面,都加了一个“0”。但我发送的时候是没有的。感觉到很奇怪。
今天专门看了下snmp4j的相关源码,终于搞懂了。记录一下:
首先看看”.”到底有什么用。
我构造pdu的代码如下
PDU pdu = new PDU();
pdu.add(
new VariableBinding(SnmpConstants.sysUpTime,
new TimeTicks(msg
.getSysUpTime())));
pdu.add(
new VariableBinding(SnmpConstants.snmpTrapOID,
new OID(msg
.getOid())));
pdu.add(
new VariableBinding(new OID(msg.getResourcePoolID()