• C# 通过 snmp协议 获取上位机接口数据


    一:业务需求

      通过Snmp通讯协议获取上位机里的温湿度状态信息

    二:Snmp定义

      为不同种类的设备、不同厂家生产的设备、不同型号的设备,定义为一个统一的接口和协议,即 网络管理协议

    三:C#获取数据

      开发文档如下图:

    --------------------------------------------------------------------------------------------------

    -----------------------------------------------------------------------------------------------

      1.在VS的Nuget里下载 SnmpSharpNet 包

      2.方法如下

            public static string getSnmpValByOid(string host, int snmpPort, string community, string oid)
            {
                string val = "";
                OctetString second = new OctetString(community);
                AgentParameters param = new AgentParameters(second);
    
                param.Version = SnmpVersion.Ver2;
    
                IpAddress agent = new IpAddress(host);
    
                UdpTarget target = new UdpTarget((IPAddress)agent, snmpPort, 2000, 1);
    
                Pdu pdu = new Pdu(PduType.Get);
                pdu.VbList.Add(oid);
    
                SnmpV2Packet result = (SnmpV2Packet)target.Request(pdu, param);
                if (result != null)
                {  
                    if (result.Pdu.ErrorStatus == 0)
                    {
                        val = result.Pdu.VbList[0].Value.ToString();
                    }
                }
                target.Close();
                return val;
            }

      3.调用如下:

    string result = getSnmpValByOid("192.168.1.12",161,"public", "1.3.6.1.4.1.34651.2.2.1.10.1");
    Console.WriteLine(result);

      

  • 相关阅读:
    Web网页安全色谱
    控件继承
    加密(转摘)
    关于Chart控件X轴数据显示不全解决方法。
    orcle 创建表空间用户
    oracle REGEXP_REPLACE
    產生64位隨机無重復碼
    简单跨浏览器通信.
    [原創]加載動態JS文件.
    层的拖放
  • 原文地址:https://www.cnblogs.com/HansZimmer/p/13469296.html
Copyright © 2020-2023  润新知