<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

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 午夜影院免费观看| 免费大片av手机看片| 日本在线免费播放| 亚洲色大成网站www永久一区| 日韩插啊免费视频在线观看| 亚洲精品动漫人成3d在线| 精品韩国亚洲av无码不卡区| 黄网站色在线视频免费观看| 亚洲成a人片在线观看日本| 一级毛片在线播放免费| 中文字幕亚洲日韩无线码| 香蕉视频免费在线| 久久亚洲国产成人影院网站| 一个人看的hd免费视频| 亚洲乱码国产一区三区| 国产精品免费高清在线观看| 精品亚洲国产成AV人片传媒| 国产片AV片永久免费观看| 亚洲中文字幕无码久久| 国产一级做a爱免费视频| 午夜不卡AV免费| 亚洲人成亚洲精品| 亚洲中文无码永久免费| WWW亚洲色大成网络.COM| 亚洲人成网站色在线入口| 两个人日本免费完整版在线观看1| 久久国产一片免费观看| 少妇中文字幕乱码亚洲影视| 国产精品美女午夜爽爽爽免费| 亚洲午夜爱爱香蕉片| 鲁大师在线影院免费观看| 亚洲一区二区三区在线| 人人狠狠综合久久亚洲高清| 久久免费精品一区二区| wwwxxx亚洲| 亚洲综合色在线观看亚洲| 免费看搞黄视频网站| 亚洲精华国产精华精华液好用 | 日韩精品无码免费视频| 亚洲中文字幕在线观看| 国产在线观看片a免费观看|