C#SNMP代理命令处理程序

时间:2012-07-24 18:18:26

标签: c# snmp

目前的情况是一方面我有一个系统,我们有一个相机适配器(我们开发),帮助我们将相机集成到系统中。另一方面,我们有一个相机模拟器。

在我的相机适配器中,为了获取相机的当前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命令的信息,因此我可以在后面回复正确的信息。

任何人都可以将我链接到相关信息或通过这个过程指导我。

坦克,

专利

1 个答案:

答案 0 :(得分:0)

http://www.lextm.com/2012/07/sharpsnmp-vs-snmpsharpnet/

你问的可能是每个SNMP#NET用户都想知道的。

SNMP#NET不支持代理开发。您需要切换到另一个库,无论是商业还是开源。