SNM4J 入门 同步获取数据
来源:互联网 发布:淘宝店装修步骤 编辑:程序博客网 时间:2024/06/05 09:10
package com.sdstc.maxvalue.nms.services.cheng;
import java.io.IOException;
import java.util.Vector;
import org.snmp4j.CommunityTarget;
import org.snmp4j.PDU;
import org.snmp4j.Snmp;
import org.snmp4j.TransportMapping;
import org.snmp4j.event.ResponseEvent;
import org.snmp4j.mp.SnmpConstants;
import org.snmp4j.smi.Address;
import org.snmp4j.smi.GenericAddress;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.DefaultUdpTransportMapping;
public class SnmpUtil {
private Snmp snmp = null;
private Address targetAddress = null;
public void initComm() throws IOException {
// 设置Agent方的IP和端口
targetAddress = GenericAddress.parse("udp:127.0.0.1/161");
TransportMapping transport = new DefaultUdpTransportMapping();
snmp = new Snmp(transport);
transport.listen();
}
public void sendPDU() throws IOException {
// 设置 target
CommunityTarget target = new CommunityTarget();
target.setCommunity(new OctetString("public"));
target.setAddress(targetAddress);
// 通信不成功时的重试次数
target.setRetries(2);
// 超时时间
target.setTimeout(1500);
target.setVersion(SnmpConstants.version2c);
// 创建 PDU
PDU pdu = new PDU();
pdu.add(new VariableBinding(new OID(new int[] { 1, 3, 6, 1, 2, 1, 1, 5, 0 })));
// MIB的访问方式
pdu.setType(PDU.GET);//如果采用PDU.GETBULK 必须设定 pdu.setMaxRepetitions(maxRepetitions);
// 向Agent发送PDU,并接收Response
ResponseEvent respEvnt = snmp.send(pdu, target);
// 解析Response
if (respEvnt != null && respEvnt.getResponse() != null) {
Vector<VariableBinding> recVBs = respEvnt.getResponse()
.getVariableBindings();
for (int i = 0; i < recVBs.size(); i++) {
VariableBinding recVB = recVBs.elementAt(i);
System.out.println(recVB.getOid() + " : " + recVB.getVariable());
}
}
}
public static void main(String[] args) {
try {
SnmpUtil util = new SnmpUtil();
util.initComm();
util.sendPDU();
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.IOException;
import java.util.Vector;
import org.snmp4j.CommunityTarget;
import org.snmp4j.PDU;
import org.snmp4j.Snmp;
import org.snmp4j.TransportMapping;
import org.snmp4j.event.ResponseEvent;
import org.snmp4j.mp.SnmpConstants;
import org.snmp4j.smi.Address;
import org.snmp4j.smi.GenericAddress;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.DefaultUdpTransportMapping;
public class SnmpUtil {
private Snmp snmp = null;
private Address targetAddress = null;
public void initComm() throws IOException {
// 设置Agent方的IP和端口
targetAddress = GenericAddress.parse("udp:127.0.0.1/161");
TransportMapping transport = new DefaultUdpTransportMapping();
snmp = new Snmp(transport);
transport.listen();
}
public void sendPDU() throws IOException {
// 设置 target
CommunityTarget target = new CommunityTarget();
target.setCommunity(new OctetString("public"));
target.setAddress(targetAddress);
// 通信不成功时的重试次数
target.setRetries(2);
// 超时时间
target.setTimeout(1500);
target.setVersion(SnmpConstants.version2c);
// 创建 PDU
PDU pdu = new PDU();
pdu.add(new VariableBinding(new OID(new int[] { 1, 3, 6, 1, 2, 1, 1, 5, 0 })));
// MIB的访问方式
pdu.setType(PDU.GET);//如果采用PDU.GETBULK 必须设定 pdu.setMaxRepetitions(maxRepetitions);
// 向Agent发送PDU,并接收Response
ResponseEvent respEvnt = snmp.send(pdu, target);
// 解析Response
if (respEvnt != null && respEvnt.getResponse() != null) {
Vector<VariableBinding> recVBs = respEvnt.getResponse()
.getVariableBindings();
for (int i = 0; i < recVBs.size(); i++) {
VariableBinding recVB = recVBs.elementAt(i);
System.out.println(recVB.getOid() + " : " + recVB.getVariable());
}
}
}
public static void main(String[] args) {
try {
SnmpUtil util = new SnmpUtil();
util.initComm();
util.sendPDU();
} catch (IOException e) {
e.printStackTrace();
}
}
}
0 0
- SNM4J 入门 同步获取数据
- SNM4J 异步获取数据
- SNM4J TableUtils 同步
- jQuery: 同步获取数据
- ajax同步获取数据
- Ajax同步获取数据
- 数据同步协议---SyncML入门
- NettySocket同步数据获取实现
- 怎么从后台同步获取json数据
- xmlhttprequest同步获取后台数据(一)
- nodejs同步调用获取mysql数据大坑
- OKhttp get同步请求方式 获取数据
- jquery zTree 入门,从后台获取数据
- Json数据获取以及解析入门
- 数据库(oracle)数据同步之物化视图(实战入门)
- activiti入门八(同步或者重构用户数据)
- 网络编程_get_同步_获取网络数据
- 网络编程_post_同步_获取网络数据
- IOS8关于本地通知
- find ,find_first_of , find_if , adjacent_find的使用
- xpages的comboBox可以手动输入
- GCC如何编译内嵌汇编代码
- 【亚马逊AWS】IAM机翻
- SNM4J 入门 同步获取数据
- eclipse工程图标上有个红色感叹号
- Linux scp命令
- 详解sprintf()&sprintf_s()
- linux recv\read 和 send/write区别
- PE格式详细讲解10 - 基址重定位
- sql 出现次数最多排序
- 位运算的运用
- SNM4J 异步获取数据