一小段用SNMP4J读取OID的代码,请大家给看看,为啥运行的时候返回的是两个null啊?protocol.send()这个函数没有把值传给response?是不是还要有agent端之类的,请明白人给小妹分析一下吧,谢谢了 import org.snmp4j.*;
import org.snmp4j.transport.*;
import java.io.*;
import org.snmp4j.smi.*;
import org.snmp4j.mp.*;
import org.snmp4j.event.*; class snmptest{
public static void main(String[] args){
try{
TransportMapping transport1 ;
transport1 = new DefaultUdpTransportMapping();
Snmp protocol = new Snmp(transport1);
transport1.listen();
CommunityTarget myTarget = new CommunityTarget();
Address deviceAdd;//org.snmp4j.smi.*;
deviceAdd = GenericAddress.parse("udp:127.0.0.1/161");
myTarget.setAddress(deviceAdd);
myTarget.setCommunity(new OctetString("public"));
myTarget.setRetries(0);
myTarget.setTimeout(5*60);
myTarget.setVersion(SnmpConstants.version2c);//org.snmp4j.mp.*;
PDU pdu = new PDU();
VariableBinding var = new VariableBinding(new OID("1.3.6.1.4.1.9.2.1.8.0"));
pdu.add(var);
pdu.setType(PDU.GET);
ResponseEvent response = protocol.send(pdu, myTarget);
System.out.println(response.getResponse());
System.out.println(response.getPeerAddress());
}catch(IOException e){
e.printStackTrace();
System.out.println(e.getMessage()); return;
}
}
}
import org.snmp4j.transport.*;
import java.io.*;
import org.snmp4j.smi.*;
import org.snmp4j.mp.*;
import org.snmp4j.event.*; class snmptest{
public static void main(String[] args){
try{
TransportMapping transport1 ;
transport1 = new DefaultUdpTransportMapping();
Snmp protocol = new Snmp(transport1);
transport1.listen();
CommunityTarget myTarget = new CommunityTarget();
Address deviceAdd;//org.snmp4j.smi.*;
deviceAdd = GenericAddress.parse("udp:127.0.0.1/161");
myTarget.setAddress(deviceAdd);
myTarget.setCommunity(new OctetString("public"));
myTarget.setRetries(0);
myTarget.setTimeout(5*60);
myTarget.setVersion(SnmpConstants.version2c);//org.snmp4j.mp.*;
PDU pdu = new PDU();
VariableBinding var = new VariableBinding(new OID("1.3.6.1.4.1.9.2.1.8.0"));
pdu.add(var);
pdu.setType(PDU.GET);
ResponseEvent response = protocol.send(pdu, myTarget);
System.out.println(response.getResponse());
System.out.println(response.getPeerAddress());
}catch(IOException e){
e.printStackTrace();
System.out.println(e.getMessage()); return;
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货