<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 5,  comments - 7,  trackbacks - 0

    Who Should Read This

    1. You want to program SNMP with C# but have no idea for beginning.
    2. You've googled for a while, but don't get a simple working example.
    3. What you're looking for, is just a simple requirement to get a status value from a device through SNMP.

    Introduction
    My purpose is to get an uint value from a temperature sensor through SNMP. This is a very simple requirement, and I don't want to understand the whole detail of SNMP protocol. In JAVA, there's lot of open source resources for SNMP programming, for example, SNMP4j. How ever, I found no simple guidance for C# SNMP programming. If you have the same problem, you can have following example to start your way toward SNMP.

    Pre-requirement
    1. C# Programming Basics
    2. A working SNMP host to communicate with. For example, a temperature sensor, a networked printer or a router with SNMP functions.
    Sample SNMP Class
    Firstly, you have to add a reference to OLEPRNLIB. You can find it from "Add reference" -> "COM". The path of the dll is located at C:\Windows\System32 by Default.

    Here is a sample SNMP Class:

    using System;
    using System.Collections.Generic;
    using System.Text;
    using OLEPRNLib;

    namespace MrFu
    {
    public class SimpleSnmp
    {
    private String hostIp;
    private String oid;
    private String communityString;

    int retries = 1;
    int timeout = 3000;

    SNMP snmp = new SNMP();

    public SimpleSnmp(String hostIp, String communityString, String oid)
    {
    this.hostIp = hostIp;
    this.communityString = communityString;
    this.oid = oid;

    try
    {
    snmp.Open(this.hostIp, this.communityString, this.retries, this.timeout);
    }
    catch (Exception ex) {
    Console.WriteLine(ex.Message);
    }

    }

    public String getValue() {
    try
    {
    uint result = snmp.GetAsByte(this.oid);
    return result.ToString();
    }
    catch (Exception ex) {
    Console.WriteLine(ex.Message);
    return null;
    }
    }
    }
    }


    Description for the Code

    First line you need to look at is:
    snmp.Open(this.hostIp, this.communityString, this.retries, this.timeout);
    where the "hostIp" is the IP address of the target, of course,

    the "communityString" is "public" by default for most SNMP device. If you changed it on device configuration, remember to modify it.

    the "retries" and "timeout" indicate how many times the system should retry if connection failed over the milliseconds given by "timeout".

    And, That's All to Connect to A Device Through SNMP. COOL!

    Second line you might want to know is:
    uint result = snmp.GetAsByte(this.oid);
    That's the basic way to get the status or value from your host device. You can convert it into String or any thing you like.

    To explain in a simple way, the "oid" is the unique id for some status on the device. You can obtain the correct oid from your device manual. For example, the oid of my temperature sensor is:
    ".1.3.6.1.4.1.3854.1.2.2.1.16.1.3.0"
    So you should be able to find some string looks like that from your device suppliers or documents.

    For more detailed description of SNMP protocol, you can look into wikipedia.

    That's all. So easy, and you can have a first shot of SNMP programming with C# now.


    Conclusin
    This is quiet a easy way to have a quick look of SNMP progamming with C#. Surely, the detailed packet parsing or other SNMP functions are NOT shown in this post. But that's all I need to solve my problem. And I hope this post can help you, too.
    posted on 2009-06-18 15:30 Vincent-chen 閱讀(1505) 評論(1)  編輯  收藏 所屬分類: snmp

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲人成自拍网站在线观看| 亚洲AV无码一区东京热久久| 亚洲午夜国产精品| 亚洲欧洲免费视频| 亚洲人成电影福利在线播放| 久久国产精品一区免费下载| 亚洲va久久久噜噜噜久久| 日本一道本不卡免费| 亚洲色图.com| 色se01短视频永久免费| 亚洲色精品VR一区区三区| 在线成人a毛片免费播放| 久久亚洲中文字幕无码| 亚洲国产精品丝袜在线观看| 人体大胆做受免费视频| 亚洲人成亚洲人成在线观看| 男女午夜24式免费视频| 亚洲导航深夜福利| 搡女人免费视频大全| 免费看美女午夜大片| 亚洲精品无码久久久久去q| 久久免费视频99| 性xxxx黑人与亚洲| 青草草在线视频永久免费| 国产高清视频免费在线观看| 亚洲高清在线观看| 成人AV免费网址在线观看| 羞羞视频网站免费入口| 久久久久久久综合日本亚洲| 精品福利一区二区三区免费视频 | 免费看搞黄视频网站| 亚洲精品在线网站| 在线免费观看色片| 好久久免费视频高清| 77777亚洲午夜久久多喷| 又粗又硬又大又爽免费视频播放| 精品成人免费自拍视频| 亚洲码和欧洲码一码二码三码 | 亚洲AV电影院在线观看| 拨牐拨牐x8免费| 中文字幕免费不卡二区|