snmpPollerDemo.java
上传用户:aonuowh
上传日期:2021-05-23
资源大小:35390k
文件大小:4k
源码类别:

SNMP编程

开发平台:

C/C++

  1. /*
  2.     $Id: snmpPollerDemo.src,v 1.3 2002/09/09 05:36:28 tonyjpaul Exp $
  3. */
  4. /*
  5.  * @(#)snmpPollerDemo.java
  6.  * Copyright (c) 1996-2002 AdventNet, Inc. All Rights Reserved.
  7.  * Please read the COPYRIGHTS file for more details.
  8.  */
  9. /** 
  10.  *  An example of using the SnmpPoller object in your code.
  11.  *  This is an applet example.  
  12.  *  Please refer snmpPollerDemo.html for parameters.
  13.  **/
  14. import java.awt.*;
  15. import java.awt.event.ActionListener;
  16. import java.awt.event.ActionEvent;
  17. import java.applet.Applet;
  18. import com.adventnet.snmp.beans.*;
  19. public class snmpPollerDemo extends Applet implements ActionListener {
  20.     // Some AWT widgets we'll use
  21.     Label l1;
  22.     Button b1;
  23.     TextField t1;
  24.     SnmpPoller poller; // The SNMP poller instance we'll use
  25.     /** The init method is first called for applets.  **/
  26.     public void init() {
  27.         l1 = new Label ( getParameter("OID") );
  28.         b1 = new Button();
  29.         b1.setLabel("Stop Polling");
  30.         t1 = new TextField("The data from the agent is shown here");
  31.         //Listen for actions on button
  32.         b1.addActionListener(this);
  33.         //Add Components using the default FlowLayout. 
  34.         add(l1);
  35.         add(t1);
  36.         add(b1);
  37.     }
  38.     /** The start method is called when page with applet is visited.  **/
  39.     public void start() {
  40.       try {  // setup the poller object as desired - use applet parameters
  41.         poller = new SnmpPoller(this);
  42.         // load MIB to allow us to use names
  43.         showStatus("Loading MIBs...");  // show something on the status bar
  44.         if(getParameter("MIBS") != null)
  45. poller.loadMibs( getParameter("MIBS") );  
  46.         showStatus("Loading MIBs done.");
  47.         if(getParameter("HOSTNAME") != null)
  48. poller.setTargetHost( getParameter("HOSTNAME") );
  49.         if(getParameter("COMMUNITY") != null)
  50. poller.setCommunity( getParameter("COMMUNITY") );
  51.         if(getParameter("OID") != null)
  52. poller.setObjectID( getParameter("OID") );
  53.         if(getParameter("SNMP_PORT") != null )
  54.             poller.setTargetPort(Integer.parseInt(getParameter("SNMP_PORT")));
  55.         if(getParameter("USERNAME") != null)
  56. poller.setPrincipal( getParameter("USERNAME"));
  57.         if(getParameter("AUTHPASS") != null)
  58. poller.setAuthPassword( getParameter("AUTHPASS"));
  59.         String protocol =  getParameter("AUTHPROTOCOL");
  60.         if(protocol!=null) {
  61.         if(protocol.equals("SHA"))
  62.             poller.setAuthProtocol(SnmpServer.SHA_AUTH);
  63.         else
  64.             poller.setAuthProtocol(SnmpServer.MD5_AUTH);
  65.         }
  66.         if(getParameter("PRIVPASS") != null)
  67. poller.setPrivPassword( getParameter("PRIVPASS"));
  68.         //poller.setSecurityLevel((byte)Integer.parseInt(getParameter("SEC_LEVEL")));
  69.         if(getParameter("SNMP_VERSION") != null)
  70. poller.setSnmpVersion(Integer.parseInt(getParameter("SNMP_VERSION")));
  71.     } catch (Exception ex) {
  72.         System.err.println("Error in starting applet: "+ex+":"+ex.getMessage());
  73.     }
  74.       
  75. if(poller.getSnmpVersion()==3) {
  76. poller.create_v3_tables();
  77. }
  78.     // We need to add a listener to listen for responses
  79.     ResultAdapter listener = new ResultAdapter() {
  80.       // This method will be invoked when the response is received
  81.         public void setResult( ResultEvent e ) {
  82.         try { 
  83.             t1.setText(e.getStringValue());
  84.         } catch (DataException de) {
  85.             t1.setText("Error in getting agent data: "+de +
  86.                        e.getErrorString());
  87.         }
  88.         }
  89.     };
  90.     poller.addResultListener(listener);  // listen for response events
  91.     }  
  92.     /** This method is called when the button is clicked **/
  93.     public void actionPerformed(ActionEvent e) {
  94.         
  95.       if (poller.getPollingStatus()) {  // if polling is going on, stop it
  96.         poller.stopPolling();
  97.         b1.setLabel("Start Polling");
  98.       } else { // else restart it
  99.         poller.restartPolling();
  100.         b1.setLabel("Stop Polling");
  101.     } 
  102.     }
  103.     
  104. }