我将使用 shrarpsnmp 库为 SNMPv2 设备开发管理器。我不明白我应该使用那种 API。例如,我想调用 snmp get request 到设备。有两种方法可以做到这一点:
1)
GetRequestMessage request = new GetRequestMessage(VersionCode.V2,
Messenger.NextMessageId, Messenger.NextRequestId, new OctetString("myname"),
new List<variable>{new Variable(new ObjectIdentifier("1.3.6.1.2.1.1.1.0"))},
priv, Messenger.MaxMessageSize, report);
ISnmpMessage reply = request.GetResponse(60000, new
IPEndPoint(IPAddress.Parse("192.168.1.2"), 161));
if (reply.Pdu().ErrorStatus.ToInt32() != 0) // != ErrorCode.NoError
{
throw ErrorException.Create(
"error in response",
IPAddress.Parse("192.168.1.2"),
reply);
}
2)
var result = Messenger.Get(VersionCode.V2,
new IPEndPoint(IPAddress.Parse("192.168.1.2"), 161),
new OctetString("public"),
new List<Variable>{new Variable(new ObjectIdentifier("1.3.6.1.2.1.1.1.0"))},
60000);
这两种方法有什么区别?哪个可以正确使用 SNMPv2,或者可以使用哪个?