snmp4j trap
snmp4j 中怎样调用trap,有这样一个例子
import org.snmp4j.CommandResponder;
import org.snmp4j.CommandResponderEvent;
import org.snmp4j.PDU;
import org.snmp4j.Snmp;
import org.snmp4j.TransportMapping;
import org.snmp4j.smi.Address;
import org.snmp4j.smi.GenericAddress;
import org.snmp4j.smi.UdpAddress;
import org.snmp4j.transport.DefaultUdpTransportMapping;
public class TrapTest{
public static void main(String[] args){
try {
TransportMapping transport = new DefaultUdpTransportMapping(new UdpAddress("192.168.32.219/162"));
//创建一个处理消息的snmp实例
Snmp snmp = new Snmp(transport);
//CommandResponder是一个listener,用以处理获取的trap消息
CommandResponder trapPrinter = new CommandResponder(){
public synchronized void processPdu(CommandResponderEvent e){
PDU command = e.getPDU();
if(command!=null){
//这里示例输出trap的内容.具体的trap解析等工作在这里进行.
System.out.println(command.toString());
}
}
};
//在snmp实例中添加CommandResponder listener
snmp.addCommandResponder(trapPrinter);
System.out.println("start listening!");
//开始启动trap监听.listen()方法内部启动了一个线程,这个线程监听发送到transport中定义的端口
//的消息.
transport.listen();
System.out.println(transport.isListening());//测试监听是否正常
//等待一段测试时间,在这段时间可以发送trap信息测试.
} catch (Exception e){
e.printStackTrace();
}
}
}
我运行不能接受到trap,请问还需要别的设置吗?我启动的windows xp上的snmp服务,怎样让xp发送trap?