Несколько агентов SNMP с использованием SNMP4j и Java

Я пытаюсь создать приложение-симулятор агента snmp, которое создаст несколько виртуальных агентов с уникальным IP-адресом и портом. Я пытаюсь использовать snmp4jagent. Но у меня есть некоторые исключения, вы можете мне помочь?

Я расширяю класс BaseAgent до своего собственного класса, а затем создаю несколько экземпляров этого класса. Но я не могу запустить более одного агента за раз, т.е. если статус одного агента запущен, я не могу запустить другой агент, не останавливая работающий агент (код слишком тяжелый, поэтому я не указываю здесь код) код для запуска агента

public void start() throws IOException
{
    init();
    addShutdownHook();
    getServer().addContext(new OctetString("public"));
    finishInit();
    run();
    sendColdStartNotification(); 
}

затем я регистрирую управляемые объекты.

Ссылка на код: http://shivasoft.in/blog/java/snmp/creating-snmp-agent-server-in-java-using-snmp4j/

заранее спасибо

Прамод


person Hanks    schedule 23.06.2011    source источник
comment
Предоставьте дополнительную информацию и фрагмент кода.   -  person Nikunj    schedule 23.06.2011
comment
Пожалуйста, не задавайте повторно тот же вопрос. Вы всегда можете отредактировать это, чтобы добавить детали или исправить форматирование. Спасибо.   -  person    schedule 27.07.2011


Ответы (1)


Это действительно работает (как проверено). Возможно, вы не назначали разные IP-адреса своим разным экземплярам. Добавьте это в свой класс:

/**
 * The ip address of this agent.
 */
private String ipAddress;

/**
 * Initializes the transport mappings (ports) to be used by the agent.
 * 
 * @throws IOException
 */ 
protected void initTransportMappings() throws IOException {
    transportMappings = new TransportMapping[1];
    transportMappings[0] = new DefaultUdpTransportMapping(new UdpAddress(ipAddress + "/161"));
}

Возможно, вам придется добавить используемые IP-адреса в вашу сетевую карту. Пример для Линукса:

ip addr add 10.0.0.2/24 dev eth0

Также предоставьте сообщения об исключениях и трассировку стека, если вы по-прежнему не можете запустить второй агент.

person steffen    schedule 07.11.2013