i trying create snmp client in java.
snmpmanager client = new snmpmanager("udp:73.251.102.191/162"); this ipv4 address, when trying same ipv6 addresses throws below error.
error:
---------------exception in thread "main" org.snmp4j.messageexception: no route host @ org.snmp4j.messagedispatcherimpl.sendpdu(unknown source) @ org.snmp4j.snmp.sendmessage(unknown source) @ org.snmp4j.snmp.send(unknown source) @ org.snmp4j.snmp.send(unknown source) @ snmptrial1.snmpmanager.get(snmpmanager.java:55) @ snmptrial1.snmpmanager.getasstring(snmpmanager.java:45) @ snmptrial1.snmpmanager.main(snmpmanager.java:34) code: code works ipv4 addresses not ipv6
public class snmpmanager { snmp snmp = null; string address = null; public snmpmanager(string add) { address = add; } public static void main(string[] args) throws ioexception { snmpmanager client = new snmpmanager("udp:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/162"); // ipv6 address client.start(); string sysdescr = client.getasstring(new oid(".1.3.6.1.4.1.4115.1.20.1.1.3.62.4.1.1.1")); system.out.println(sysdescr); } private void start() throws ioexception { transportmapping transport = new defaultudptransportmapping(); snmp = new snmp(transport); transport.listen(); } public string getasstring(oid oid) throws ioexception { responseevent event = get(new oid[] { oid }); return event.getresponse().get(0).getvariable().tostring(); } public responseevent get(oid oids[]) throws ioexception { pdu pdu = new pdu(); (oid oid : oids) { pdu.add(new variablebinding(oid)); } pdu.settype(pdu.get); responseevent event = snmp.send(pdu, gettarget(), null); if(event != null) { return event; } throw new runtimeexception("get timed out"); } private target gettarget() { address targetaddress = genericaddress.parse(address); communitytarget target = new communitytarget(); target.setcommunity(new octetstring("xxxxx")); target.setaddress(targetaddress); target.setretries(2); target.settimeout(2000); target.setversion(snmpconstants.version2c); return target; } }
if os mac osx java 7 , 8 has bug related ipv6 , socket connections. here link: jvm bug java 6 seems work fine.
Comments
Post a Comment