今天在跟其他公司做对接的时候,那边反应,每个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()