[SNMP4J] Asynchronous Messages
Marcel Bassuener
Marcel.Bassuener at unibw.de
Thu Dec 2 23:16:10 CET 2010
Please,
can anyone help me.
I tried this method:
http://lists.agentpp.org/pipermail/snmp4j/2006-January/001002.html
Also I tried the Solution from the SNMP4J Wiki
But I alway receive only one Response.
This is the current Code:
DefaultUdpTransportMapping defaultTransport = new
DefaultUdpTransportMapping();
defaultTransport.setReceiveBufferSize(65535);
TransportMapping transport = defaultTransport;
Snmp snmp = new Snmp(transport);
OctetString localEngineID = new OctetString("Kaffee22");
((MPv3)snmp.getMessageProcessingModel(MPv3.ID)).
setLocalEngineID(localEngineID.getValue());
USM usm = new USM(SecurityProtocols.getInstance(),
localEngineID,
0);
SecurityModels.getInstance().addSecurityModel(usm);
UserTarget target = new UserTarget();
target.setSecurityLevel(SecurityLevel.NOAUTH_NOPRIV);
target.setSecurityName(new OctetString("Detect"));
target.setVersion(SnmpConstants.version3);
target.setAddress(new UdpAddress("192.168.11.255/161"));
target.setRetries(1);
target.setTimeout(3000);
MessageDispatcher md = snmp.getMessageDispatcher();
MultiThreadedMessageDispatcher test = new
MultiThreadedMessageDispatcher(ThreadPool.create("Requester", 4),md);
test.removeCommandResponder(snmp);
test.addCommandResponder(this);
test.addCommandResponder(snmp);
snmp.listen();
ScopedPDU request = new ScopedPDU();
request.setType(PDU.GET);//createPDU(target);
if (request.getType() == PDU.GETBULK) {
request.setMaxRepetitions(50);
request.setNonRepeaters(1);
}
request.add(new VariableBinding(new OID("1.3.6.1.2.1.1.1.0")));
PduHandle reqHandle = test.sendPdu(transport,
target.getAddress(), target.getVersion(),
SecurityModel.SECURITY_MODEL_USM,
target.getSecurityName().getValue(),
SecurityLevel.NOAUTH_NOPRIV, request, true);
Thanks and Best regards
Marshall
Am 02.12.2010 14:57, schrieb Marcel Bassuener:
> Hello,
> I don't get asynchrnuos messeges to work.
>
> ResponseListener listener = new ResponseListener() {
> public void onResponse(ResponseEvent event) {
> System.out.println(event.getPeerAddress());
> }
> };
>
> snmp.send(request, target, usm, listener);
>
> The answer is everytime "null", but if i try the same with synch
> messages it works.
>
> Or do you have an other suggestion how I can react on multible
> responses, because the request goes to the broadcast address of the
> Network (f.e. 192.168.11.255)
> _______________________________________________
> SNMP4J mailing list
> SNMP4J at agentpp.org
> http://lists.agentpp.org/mailman/listinfo/snmp4j
More information about the SNMP4J
mailing list