Ich arbeite mit SNMP4J und lasse erfolgreich kommagetrennte Strings ausgeben (aus SNMP Traps).Zeige spezifische Elemente in einem kommagetrennten Stringbuffer
d.h.
StringBuffer msg = new StringBuffer();
msg.append(event.toString());
Vector<? extends VariableBinding> varBinds = event.getPDU().getVariableBindings();
if (varBinds != null && !varBinds.isEmpty()) {
Iterator<? extends VariableBinding> varIter = varBinds.iterator();
while (varIter.hasNext()) {
VariableBinding var = varIter.next();
msg.append(var.toString()).append(";");
}
}
System.out.println("Message Received: " + msg.toString());
Ausgänge -
Message Received: CommandResponderEvent[securityModel=1, securityLevel=1, maxSizeResponsePDU=65535, etc etc
Neben der gesamte Ausgabezeichenfolge I bestimmte Elemente angezeigt werden müssen (insbesondere
peerAddress=192.168.150.210/61263
und
VBS[1.3.6.1.4.1.332.10.14.19.11.0 = Fire]]
aber nur im Idealfall der IP-Adressteil (192.168.150.210) und die ‚Bedeutung‘ (Feuer)
verwende ich spalte bestimmte Elemente zu finden und dann diejenigen String oder gibt es einen besseren Weg?
String sixth_word = msg.toString().split(",")[6];
Warum setzen Sie die Informationen in einem String, wenn man nur die Veranstaltung rufen [getPeerAddress] (http://www.snmp4j.org/ doc/org/snmp4j/CommandResponderEvent.html # getPeerAddress()) Methode und die Methoden von [Variable] (http://www.snmp4j.org/doc/org/snmp4j/smi/Variable.html) und ihren Unterklassen, um die Daten direkt zu bekommen? – VGR
Hallo VGR, ich brauche sowohl die gesamte Zeichenkette als auch einzelne Elemente, könntest du weiter ausbauen wie ich nur sagen würde die getPeerAddress (ich bin ein Neuling). Danke – Active