我正在使用它来接收snmpv1陷阱消息:
transport.addTransportListener(new TransportListener() {
public void processMessage(TransportMapping transportmapping,
Address address, ByteBuffer byteBuffer) {
BERInputStream berStream = new BERInputStream(byteBuffer);
BER.decodeString(berStream, new BER.MutableByte());
}
)};
我的问题是我不知道如何解析byteBuffer
以获取代理以明确方式发送的数据。
如果我现在执行我的代码,这就是我获得的:
java.io.IOException: Wrong ASN.1 type. Not a string: 48 at position 1
我已尝试过其他一些MutableType
但我真的很困惑使用哪一个。
它是否正确?你知道哪个MutableType
可以使用吗?
答案 0 :(得分:1)
我做错了。
感谢我的同事,这是纠正(忽略上述内容):
Snmp snmp = new Snmp(transport);
CommandResponder trapPrinter = new CommandResponder() {
public synchronized void processPdu(CommandResponderEvent e) {
PDU command = e.getPDU();
}
};
command
包含所有信息,无需解码任何内容。