Несколько агентов SNMP, использующих SNMP4j и Java - PullRequest
0 голосов
/ 23 июня 2011

Я пытаюсь создать приложение-симулятор snmp agent, которое будет создавать несколько виртуальных агентов с уникальным 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/

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

Pramod

1 Ответ

0 голосов
/ 07 ноября 2013

Это действительно работает (как проверено). Возможно, вы не назначали разные 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-адреса в вашу сетевую карту. Пример для Linux:

ip addr add 10.0.0.2/24 dev eth0

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

...