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

SNMP编程

开发平台:

C/C++

  1. /* $Id: sasappclient.java,v 1.3.2.3 2009/01/28 12:55:03 prathika Exp $ */
  2. /*
  3.  * @(#)sasappclient.java
  4.  * Copyright (c) 1996-2009 AdventNet, Inc. All Rights Reserved.
  5.  * Please read the associated COPYRIGHTS file for more details.
  6.  */
  7. /**
  8.   * This Applet invokes the  SASClient userSyncSend() method
  9.   * to send a datas to the Server to perform some operation.
  10.   * It receives the response data and print it.
  11.   * It sends and receives the data continuously.
  12. */
  13. import java.applet.*;
  14. import java.lang.*;
  15. import java.awt.*;
  16. import java.awt.event.*;
  17. import com.adventnet.snmp.snmp2.*;
  18. public class sasappclient extends Applet implements ActionListener {
  19.     TextArea text;
  20.     TextField field;
  21.     SASClient sasclient;
  22.     
  23.     public void init() {
  24.         text = new TextArea( 10, 40);
  25.         text.setEditable(false);
  26.         Panel northPanel = new Panel();
  27.         northPanel.add(new Label("Enter Message to Send: "));
  28.         northPanel.add(field = new TextField(20));
  29.         Panel southPanel = new Panel();
  30.         Button sendButton = new Button("Send");
  31.         southPanel.add(sendButton);
  32.         sendButton.addActionListener(this);
  33.         Button clearButton = new Button("Clear");
  34.         southPanel.add(clearButton);
  35.         clearButton.addActionListener(this);
  36.         setLayout(new BorderLayout());
  37.         add("North", northPanel);
  38.         add("Center", text);
  39.         add("South", southPanel);
  40.     
  41.         initSnmp();
  42.     }
  43.     
  44.     void initSnmp() {
  45.         // establish connection with the SAServer
  46.         try {
  47.             sasclient = new SASClient(this, true);
  48.             sasclient.start();
  49.         }
  50.         catch (Exception e) {
  51.             text.append("Error : " + e.getMessage() + "n");
  52.         }
  53.     }
  54.     
  55.     void sendData(String msg) {
  56.         // Now let us use the UserSyncSend to send and receive
  57.         // data to the application on the SAServer end
  58.         byte data[] = msg.getBytes();
  59.         byte resp_data[] = null;
  60.         /* userSyncSend invoked .
  61.            @param requestType = knownSASTypes+1;
  62.            return Response data
  63.         */
  64.         if(sasclient != null) {
  65.             int req_type = (sasclient.getMaxSasTypes())+1;
  66.             resp_data = sasclient.userSyncSend (req_type, data);
  67.         }
  68.         else {
  69.             text.append("SAServer not connected"+"n");
  70.             return;
  71.         }
  72.         if (resp_data == null) {
  73.             text.append("No response received from Server"+"n");
  74.             return;
  75.         }
  76.         String res_msg = "";
  77.         try
  78.         {
  79.             res_msg = new String(resp_data, SnmpAPI.ENCODING);
  80.         }
  81.         catch(Exception exp)
  82.         {
  83.         }
  84.         text.append("Response Message:n" + res_msg + "n");
  85.     }
  86.     
  87.     public void actionPerformed(ActionEvent e) {
  88.         
  89.         if(e.getActionCommand().equals("Send")) {
  90.             sendData(field.getText());
  91.         }
  92.         else if(e.getActionCommand().equals("Clear")) {
  93.             text.setText("");
  94.         }
  95.     }
  96.     
  97.     public void stop() {
  98.         if(sasclient != null)   {
  99.             sasclient.stop();
  100.             sasclient = null;
  101.         }
  102.     }
  103. }