0

一意の IP アドレスとポートを持つ複数の仮想エージェントを作成する snmp エージェント シミュレーター アプリケーションを作成しようとしています。snmp4jagent を使用しようとしています。しかし、いくつかの例外があります。助けてもらえますか?

BaseAgent クラスを独自のクラスに拡張し、そのクラスの複数のインスタンスを作成します。しかし、一度に複数のエージェントを開始することはできません。1 つのエージェントのステータスが実行中の場合、実行中のエージェントを停止せずに別のエージェントを開始することはできません (コードが重すぎるため、ここではコードを指定しません) エージェントを開始するためのコードは次のとおりです。

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/

前もって感謝します

プラモド

4

1 に答える 1

0

実際に動作します(テスト済み)。異なるインスタンスに異なる 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 アドレスを NIC に追加する必要があります。Linux の例:

ip addr add 10.0.0.2/24 dev eth0

2 番目のエージェントを起動できない場合は、例外メッセージとスタック トレースも提供してください。

于 2013-11-07T12:45:52.893 に答える