0

我正在使用它来接收 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使用哪个吗?

4

1 回答 1

1

我做的完全错了。

感谢我的一位同事,这里是更正(忽略上述):

Snmp snmp = new Snmp(transport);
CommandResponder trapPrinter = new CommandResponder() {
    public synchronized void processPdu(CommandResponderEvent e) {
        PDU command = e.getPDU();
    }
};

command包含所有信息,无需解码任何内容。

于 2011-06-30T16:01:34.737 回答