我想为某些设备创建 snmp 客户端。但是,设备不能直接从 localhost 访问。想使用外部 ip 来创建 snmp 客户端(会话)。如何使用 SNMP4j 完成它。
下面是我用来创建 snmp 客户端的代码片段。
public SNMPClient(String address) {
super();
this.address = address;
try {
start();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
private void start() throws IOException {
TransportMapping transport = new DefaultUdpTransportMapping();
// Create Target Address object
this.target = new CommunityTarget();
target.setCommunity(new OctetString("public"));
target.setVersion(SnmpConstants.version2c);
target.setAddress(new UdpAddress(address));
target.setRetries(2);
target.setTimeout(50000);
snmp = new Snmp(transport);
transport.listen();
}
我试图在传输创建期间提供外部 IP,如下所示
TransportMapping transport = new DefaultUdpTransportMapping(new UdpAddress("192.8.8.8"));
但似乎没有工作。
请建议我该如何继续?
在此先感谢,布林纳