使用SNMP4J获取OID的进程

使用SNMP4J获取OID的过程
1、设定远程实体

     snmp4j中,用CommunityTarget对象来表示远程实体(要进行snmp消息通信的远程主机,使用snmp的v2版本)

2、指定远程实体的地址

     snmp4j中使用Address接口对象来表示,Address对象需要通过实现该接口的类的对象向上转型来实例化

3、通过CommunityTarget以及其父接口中提供的setXX方法来设定远程实体的属性,如设定远程实体的snmp共同体属性、远程实体的地址、超时时间、重传次数、snmp版本等

4、设定使用的传输协议

    snmp4j中,用TransportMapping接口的对象来表示传输协议(tcp/udp)

5、调用TransportMapping中的listen()方法,启动监听进程,接收消息,由于该监听进程是守护进程,最后应调用close()方法来释放该进程

6、创建SNMP对象,用于发送请求PDU

     a、创建请求pdu,即创建PDU类的对象,调用PDU类中的add()方法绑定要查询的OID,调用PDU中的setType()方法来确定该pdu的类型(与snmp中物种操作想对应)

     b、通过PDU的构造方法  public SNMP(TransportMapping transportingMapping),或者其他构造方法来生成pdu,之后调用 ResopnseEvent send(PDU pdu,Target target)发送pdu,该方法返回一个ResponseEvent对象

7、通过ResponseEvent对象来获得SNMP请求的应答pdu,方法:public PDU getResponse()

8、通过应答pdu获得mib信息(之前绑定的OID的值),方法:VaribleBinding get(int index)

转自:http://blog.csdn.net/creazyjava/article/details/5453004