【发布时间】:2012-07-24 18:18:25
【问题描述】:
目前的情况是一方面我有一个系统,其中我们有相机适配器(我们开发),可以帮助我们将相机集成到系统中。另一方面,我们有一个相机模拟器。
在我的相机适配器中,为了获取相机的当前UpTime,我发送了一个SNMP Get 命令,其中包含system UpTime 的正确Oid。
在我的适配器中,我使用的是SnmpSharpNet library。
public static void GetSystemUptime(string host, out TimeSpan? uptime)
{
SimpleSnmp snmp = new SimpleSnmp();
snmp.PeerIP = IPAddress.Parse(host);
Oid oid = new Oid(SnmpOid.SYS_UPTIME);
Dictionary<Oid, AsnType> dict = snmp.Get(SnmpVersion.Ver1, new[] { oid.ToString()});
AsnType asnType;
if (dict == null || dict.TryGetValue(oid, out asnType) == false || asnType == null || asnType.GetType() != typeof(TimeTicks))
{
uptime = null;
return;
}
uptime = (TimeSpan)(asnType as TimeTicks);
}
但现在,我正在开发实际模拟相机的相机模拟器。所以我现在需要制作SNMP Agent。
我似乎无法找到有关如何在 SNMP 代理中处理 Get 命令的信息,因此我可以在后面回复正确的信息。
任何人都可以将我链接到相关信息或指导我完成整个过程。
坦克,
拍拍
【问题讨论】:
-
问的是什么并不明显。代码似乎与实际问题无关
-
显示的代码实际上是我发送 Get 的方法(使用真实相机)。现在我正试图真正站在另一边并处理这个命令。
-
@Les 我已经看过这个了,我不想简单地在这里复制/粘贴代码,我想了解背后的机制。