完成功能 采用轮训的方式完成报文的发送
public void sendAllPDU() throws IOException {
Snmp snmp = new Snmp(new DefaultUdpTransportMapping());
snmp.listen();
TransportMapping transport = new DefaultUdpTransportMapping();
CommunityTarget target = new CommunityTarget();
target.setAddress(new UdpAddress("***.***.***/162"));
target.setCommunity(new OctetString("public"));
target.setVersion(DEFAULT_VERSION);
target.setTimeout(DEFAULT_TIMEOUT); // milliseconds
target.setRetries(DEFAULT_RETRY);
// snmp.send(pudOS(sendE1(), aliat), target);
System.out.print("发送报文");
}
使用以上方法 需要配合PDU报文内容进行发送
public PDU pudOS(){
PDU pdu = new PDU();
pdu.add(new VariableBinding( new OID(), new OctetString("111111111111111")));
//pdu.setType(报文发送形式)
pdu.setType(PDU.NOTIFICATION);
return pdu;
}
1.注意发送的版本要进行确认
2.使用的
target.setCommunity //也要核实 是否是没有办法发送成功报文的
sendAllPDU方法启动。用于调用pudOS方法 返回的PUD发送报文
报文内容的OID用来标识,OctetString为报文的内容
一条报文内可以包含多个OID-绑定多个OctetString
推荐使用Wireshark 可以实时观察到发送的报文内容(使用方法自己找)
以上即完成了一个完整的报文发送
导入的包 在http://www.snmp4j.org/doc/index.html 查找 包含了一些使用的方法很有参考的意义。希望开发的时候可以好好看看。进行了解,包也可以进行下载,访问http://www.snmp4j.org即可下载需要开发的包了