【问题标题】:C# SNMP Agent Command handlerC# SNMP 代理命令处理程序
【发布时间】: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 我已经看过这个了,我不想简单地在这里复制/粘贴代码,我想了解背后的机制。

标签: c# snmp


【解决方案1】:

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

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

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

【讨论】:

  • 嗨 Lex,谢谢你的回答,你有什么图书馆吗?我一直在分析并试图从问题stackoverflow.com/questions/1671225/… 中了解#SNMP 套件的来源您建议的任何其他库(我正在寻找开源,因为它只会在内部使用)
  • 如果您的开发仅限于 C#/.NET 并且只考虑开源解决方案,那么到目前为止#SNMP 是唯一的选择。
  • 嘿 Lex Li,我阅读了您的#SNMP 项目,发现您的 OpenSource 库实际上非常好。我会为您提供 1-2 个想法,有任何可以与您联系的地方。
  • 由于这是一个开源项目,您可以将您的想法发布到讨论区,以收集所有利益相关者的反馈。如果你碰巧有问题单独问我,你可以通过 CodePlex 给我发邮件(联系方式codeplex.com/site/users/view/lextm)。
猜你喜欢
  • 2021-11-24
  • 2011-03-27
  • 1970-01-01
  • 2021-10-28
  • 2011-05-19
  • 1970-01-01
  • 1970-01-01
  • 2012-03-08
  • 1970-01-01
相关资源
最近更新 更多