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

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


    網站導航:
     
    主站蜘蛛池模板: 91青青国产在线观看免费| 免费一级特黄特色大片| 日本视频免费高清一本18 | 无码日韩精品一区二区三区免费| 亚洲日本中文字幕天堂网| 亚洲AV无码片一区二区三区| 好男人视频社区精品免费| 中国china体内裑精亚洲日本| 成人毛片免费视频| 亚洲成av人在线观看网站 | 一级做a爰全过程免费视频毛片| 大胆亚洲人体视频| 窝窝影视午夜看片免费| 国产av无码专区亚洲av果冻传媒| 久久久久久久国产免费看| 久久久久久久综合日本亚洲| 免费国产99久久久香蕉| 老汉色老汉首页a亚洲| 国产电影午夜成年免费视频| 中文字幕在线观看亚洲日韩| 永久免费看bbb| 国产黄色免费观看| 亚洲AV本道一区二区三区四区| 18级成人毛片免费观看| 亚洲真人无码永久在线观看| 无码国模国产在线观看免费| h片在线观看免费| 亚洲人成在线电影| 搡女人免费视频大全| 一本到卡二卡三卡免费高| 亚洲国产成人久久综合碰碰动漫3d| 91热成人精品国产免费| 亚洲国产情侣一区二区三区| 无码免费午夜福利片在线| 黄色三级三级免费看| 亚洲日韩乱码中文无码蜜桃臀网站| 91久久成人免费| 黄页网站在线免费观看| 亚洲av中文无码乱人伦在线r▽| 国产精品成人免费视频网站京东 | 亚洲中文字幕一二三四区|