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

SNMP编程

开发平台:

C/C++

  1. * @(#)AddRowSMIv2.java
  2.  * Copyright (c) 1996-2003 AdventNet, Inc. All Rights Reserved.
  3.  * Please read the associated COPYRIGHTS file for more details.
  4.  */
  5. /**
  6.  * This is an example program to explain how to write an application to 
  7.  * add a arow to an SMIv2 table if the column oids are .1.3.6.1.4.1.2.2.1.1, 
  8.  * .1.3.6.1.4.1.2.2.1.2, .1.3.6.1.4.1.2.2.1.3 and .1.3.6.1.4.1.2.2.1.3
  9.  * by using com.adventnet.snmp.snmp2 package of AdventNetSNMP API.
  10.  *
  11.  * The user could run this application by giving the following usage.
  12.  *  
  13.  * java AddRowSMIv2
  14.  *
  15.  *
  16. import java.lang.*;
  17. import java.util.*;
  18. import java.net.*;
  19. import com.adventnet.snmp.snmp2.*;
  20. public class AddRowSMIv2 {
  21. public static void main(String args[]) {
  22.  // Start SNMP API
  23.         SnmpAPI api = new SnmpAPI();
  24. // Open session
  25. SnmpSession session = new SnmpSession(api); 
  26. try 
  27. {
  28. session.open();
  29. }
  30. catch (SnmpException e )
  31. {
  32. System.err.println("Error opening socket: "+e);
  33. }
  34. // Build Get request PDU
  35. SnmpPDU pdu = new SnmpPDU();
  36. UDPProtocolOptions option = new UDPProtocolOptions("localhost");
  37. pdu.setProtocolOptions(option); 
  38. pdu.setCommand(SnmpAPI.SET_REQ_MSG);
  39. //get oids
  40. SnmpOID oid[]=new SnmpOID[4]; 
  41. oid[1]=new SnmpOID(".1.3.6.1.4.1.2.2.1.1.15"); 
  42. oid[2]=new SnmpOID(".1.3.6.1.4.1.2.2.1.2.15"); 
  43. oid[3]=new SnmpOID(".1.3.6.1.4.1.2.2.1.3.15"); 
  44. oid[4]=new SnmpOID(".1.3.6.1.4.1.2.2.1.4.15"); 
  45. //create SnmpVar objects
  46. SnmpVar var[]=new SnmpVar[4]; 
  47. try
  48. {
  49. // create SnmpVar instances 
  50. var[0]=SnmpVar.createVariable("15",SnmpAPI.INTEGER); 
  51. var[1]=SnmpVar.createVariable("switch2",SnmpAPI.STRING); 
  52. var[2]=SnmpVar.createVariable("9000",SnmpAPI.INTEGER); 
  53. var[3]=SnmpVar.createVariable("4",SnmpAPI.INTEGER); // the value 4 refers to createAndGo.
  54. }
  55. catch(SnmpException e)
  56. {
  57. System.err.println("Cannot create one of the variables");
  58. return;
  59. }
  60. // add varbinds
  61. for(int i=0;i<oid.length;i++)
  62. SnmpVarBind varbind=new SnmpVarBind(oid[i],var[i]);
  63. pdu.addVariableBinding(varbind); 
  64. }
  65. // Send PDU and receive response PDU
  66. session.open();
  67. SnmpPDU result = session.syncSend(pdu);
  68. if (result == null)
  69. {
  70. System.out.println("Request timed out!");
  71. }
  72. else
  73. {
  74. if (result.getErrstat()== 0)
  75. {
  76. // print the response pdu varbinds
  77. System.out.println(result.printVarBinds());
  78. }
  79. else
  80. {
  81. System.out.println(result.getError());
  82. }
  83. }
  84. // close session
  85. session.close();
  86. // close api thread
  87. api.close();
  88.  }
  89. }