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

SNMP编程

开发平台:

C/C++

  1. * @(#)AddRow.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 SMIv1 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 AddRow
  14.  *
  15.  *
  16. import java.lang.*;
  17. import java.util.*;
  18. import java.net.*;
  19. import com.adventnet.snmp.snmp2.*;
  20. public class AddRow {
  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. session.open();
  27. // Build Get request PDU
  28. SnmpPDU pdu = new SnmpPDU();
  29. UDPProtocolOptions option = new UDPProtocolOptions("localhost");
  30. pdu.setProtocolOptions(option); 
  31. pdu.setCommand(SnmpAPI.SET_REQ_MSG);
  32. //get oids
  33. SnmpOID oid[]=new SnmpOID[4]; 
  34. oid[1]=new SnmpOID(".1.3.6.1.4.1.2.2.1.1.15"); 
  35. oid[2]=new SnmpOID(".1.3.6.1.4.1.2.2.1.2.15"); 
  36. oid[3]=new SnmpOID(".1.3.6.1.4.1.2.2.1.3.15"); 
  37. oid[4]=new SnmpOID(".1.3.6.1.4.1.2.2.1.4.15"); 
  38. //create SnmpVar objects
  39. SnmpVar var[]=new SnmpVar[4]; 
  40. try
  41. {
  42. // create SnmpVar instances 
  43. var[0]=SnmpVar.createVariable("15",SnmpAPI.INTEGER); 
  44. var[1]=SnmpVar.createVariable("switch2",SnmpAPI.STRING); 
  45. var[2]=SnmpVar.createVariable("9000",SnmpAPI.INTEGER); 
  46. var[3]=SnmpVar.createVariable("2",SnmpAPI.INTEGER); // the value 2 refers to createRequest.
  47. }
  48. catch(SnmpException e)
  49. {
  50. System.err.println("Cannot create one of the variables");
  51. return;
  52. }
  53. // add varbinds
  54. for(int i=0;i<oid.length;i++)
  55. SnmpVarBind varbind=new SnmpVarBind(oid[i],var[i]);
  56. pdu.addVariableBinding(varbind); 
  57. }
  58. // Send PDU and receive response PDU
  59. try 
  60. {
  61. session.open();
  62. }
  63. catch (SnmpException e )
  64. {
  65. System.err.println("Error opening socket: "+e);
  66. }
  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. }