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

SNMP编程

开发平台:

C/C++

  1. /* $Id: TrapReceiverApplet.java,v 1.1 2002/06/15 14:43:56 ram Exp $ */
  2. /* TrapReceiverApplet.java
  3.  * Copyright (c) 1996-2003 AdventNet, Inc. All Rights Reserved.
  4.  * Please read the associated COPYRIGHTS file for more details.
  5.  */
  6. import java.applet.*;
  7. import java.io.*;
  8. import javax.swing.*;
  9. import com.adventnet.snmp.snmp2.*;
  10. public class TrapReceiverApplet extends JApplet implements SnmpClient { 
  11.                         
  12.         JTextArea text; 
  13.         SnmpAPI api;             // The SNMP API instance 
  14.     public void init() {
  15. getContentPane().setLayout(null);
  16. text = new JTextArea("Waiting to receive trapsn"); 
  17.         text.setEditable(false); 
  18. getContentPane().add(text);
  19. text.setBounds(30,80,490,85);
  20.     }
  21.         public void start() { 
  22.  
  23.     api = new SnmpAPI( ); 
  24.     api.start( ); 
  25.     api.setDebug(true); 
  26.     SnmpSession session = new SnmpSession(api); 
  27.     session.setCallbackthread(true); 
  28.     session.addSnmpClient( this); 
  29.     int port = 8001;     // set port to listen for traps 
  30.     
  31.     try {
  32.              session.open(this);  //Open session for use by the applet
  33.              } catch (SnmpException e) {
  34.  System.err.println("Error opening session:"+e.getMessage());
  35.  System.exit(1);
  36.         }
  37.     SASClient sasClient =  session.getSASClient( ); 
  38.     if (sasClient.isConnected( ) == true) {
  39. try { 
  40. sasClient.reqTraps(port); 
  41. } catch(IOException ioe) { 
  42. System.err.println("Error " + ioe.getMessage( )); 
  43. }
  44.     text.append("Listening for Traps on port: " + port + "nn");
  45. }
  46. else {
  47. text.append("SAServer not Connected n");
  48.       }
  49. }
  50. public boolean callback(SnmpSession session, SnmpPDU pdu, int reqid) { 
  51.                                  
  52.     if (pdu.getCommand() != api.TRP_REQ_MSG) 
  53.         System.err.println("Non trap PDU received"); 
  54.         else 
  55.     showStatus("Trap PDU received");
  56.             text.append("Trap received from: " 
  57.             +pdu.getRemoteHost() + ", community: " + pdu.getCommunity() + "n");
  58.     return true;  
  59.         } 
  60. public void debugPrint(String s) { 
  61.                                      
  62.         System.err.println(s); 
  63. public boolean authenticate(SnmpPDU pdu, String community) { 
  64.                                
  65.         return true; 
  66.                        
  67.         }