C# SNMP 代理命令处理程序

问题描述 投票:0回答:1

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

在我的相机适配器中,为了获取相机的当前

UpTime
,我发送带有
SNMP Get
正确 Oid 的
system UpTime
命令。

在我的适配器中,我使用的是

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
命令的信息,因此我可以在事后回复正确的信息。

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

坦克,

帕特

c# snmp
1个回答
0
投票

https://docs.lextudio.com/blog/sharpsnmp-vs-snmpsharpnet-5fdce55232e7

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

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

© www.soinside.com 2019 - 2024. All rights reserved.