<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 閱讀(1524) 評論(1)  編輯  收藏 所屬分類: snmp

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲精品视频在线播放| 成人午夜18免费看| 亚洲午夜久久久久妓女影院| 精品亚洲av无码一区二区柚蜜| 亚洲天堂免费在线| 亚洲av日韩av无码av| 一级女人18毛片免费| 亚洲色大成网站www尤物| 亚洲精品国产精品乱码不99| 亚洲天堂男人天堂| 日韩视频在线观看免费| 亚洲AV无码一区二区乱孑伦AS| 国产成人免费ā片在线观看老同学| 久久国产免费福利永久| 亚洲免费中文字幕| 成年网站免费视频A在线双飞| 亚洲av日韩av综合| mm1313亚洲精品国产| 亚洲免费精彩视频在线观看| 亚洲不卡无码av中文字幕| 久久久久亚洲国产AV麻豆| 免费夜色污私人影院在线观看| 亚洲色大成网站WWW久久九九| 99久久成人国产精品免费 | 国产成人亚洲精品电影| 亚洲成人一区二区| 午夜成人无码福利免费视频| 亚洲中文字幕无码日韩| 最近免费中文字幕大全免费| 亚洲性无码一区二区三区| 亚洲精品国产成人影院| 亚洲乱码在线观看| 亚洲成?Ⅴ人在线观看无码| 精品免费视在线观看| 亚洲丝袜中文字幕| 免费少妇a级毛片| 亚洲一区免费观看| 亚洲heyzo专区无码综合| 亚洲性猛交XXXX| 91免费资源网站入口| 日本特黄特色AAA大片免费|