farahoo
Messages postés45Date d'inscriptionvendredi 12 février 2010StatutMembreDernière intervention 9 mai 2010
-
20 mars 2010 à 11:37
cs_Kysic
Messages postés332Date d'inscriptionmardi 12 juillet 2005StatutMembreDernière intervention17 juillet 2010
-
20 mars 2010 à 14:48
est ce que quelqun peut mexpliquer les lignes de ce code quest ce qu il fait ligne par ligne
merci
import snmp.*;
import java.util.*;
import java.math.*;
import java.net.*;
public class SNMPSample
{
public static void main(String args[])
{
try
{
// create a communications interface to a remote SNMP-capable device;
// need to provide the remote host's InetAddress and the community
// name for the device; in addition, need to supply the version number
// for the SNMP messages to be sent (the value 0 corresponding to SNMP
// version 1)
InetAddress hostAddress = InetAddress.getByName("10.0.1.1");
String community = "public";
int version = 0; // SNMPv1
SNMPv1CommunicationInterface comInterface = new SNMPv1CommunicationInterface(version, hostAddress, community);
// now send an SNMP GET request to retrieve the value of the SNMP variable
// corresponding to OID 1.3.6.1.2.1.1.1.0; this is the OID corresponding to
// the device identifying string, and the type is thus SNMPOctetString
String itemID = "1.3.6.1.2.1.1.1.0";
System.out.println("Retrieving value corresponding to OID " + itemID);
// the getMIBEntry method of the communications interface returns an SNMPVarBindList
// object; this is essentially a Vector of SNMP (OID,value) pairs. In this case, the
// returned Vector has just one pair inside it.
SNMPVarBindList newVars = comInterface.getMIBEntry(itemID);
// extract the (OID,value) pair from the SNMPVarBindList; the pair is just a two-element
// SNMPSequence
SNMPSequence pair = (SNMPSequence)(newVars.getSNMPObjectAt(0));
// extract the object identifier from the pair; it's the first element in the sequence
SNMPObjectIdentifier snmpOID = (SNMPObjectIdentifier)pair.getSNMPObjectAt(0);
// extract the corresponding value from the pair; it's the second element in the sequence
SNMPObject snmpValue = pair.getSNMPObjectAt(1);
// print out the String representation of the retrieved value
System.out.println("Retrieved value: type " + snmpValue.getClass().getName() + ", value " + snmpValue.toString());
// the retrieved value can be obtained from the SNMPObject using the getValue method;
// the return type of the method is the generic base class Object, and must be cast to
// the appropriate actual Java type; in this case, for an SNMPOctetString, the underlying
// Java type is a byte array[]
byte[] javaByteArrayValue = (byte[])snmpValue.getValue();
// now send an SNMP GET request to retrieve the value of the SNMP variable
// corresponding to OID 1.3.6.1.2.1.1.3.0; this is the OID corresponding to
// the uptime of the device, and the return type is thus SNMPTimeTicks
itemID = "1.3.6.1.2.1.1.3.0";
System.out.println("Retrieving value corresponding to OID " + itemID);
// the getMIBEntry method of the communications interface returns an SNMPVarBindList
// object; this is essentially a Vector of SNMP (OID,value) pairs. In this case, the
// returned Vector has just one pair inside it.
newVars = comInterface.getMIBEntry(itemID);
// extract the (OID,value) pair from the SNMPVarBindList; the pair is just a two-element
// SNMPSequence
pair = (SNMPSequence)(newVars.getSNMPObjectAt(0));
// extract the object identifier from the pair; it's the first element in the sequence
snmpOID = (SNMPObjectIdentifier)pair.getSNMPObjectAt(0);
// extract the corresponding value from the pair; it's the second element in the sequence
snmpValue = pair.getSNMPObjectAt(1);
// print out the String representation of the retrieved value
System.out.println("Retrieved value: type " + snmpValue.getClass().getName() + ", value " + snmpValue.toString());
// the retrieved value can be obtained from the SNMPObject using the getValue method;
// the return type of the method is the generic base class Object, and must be cast to
// the appropriate actual Java type; in this case, for SNMPTimeTicks, which is a subclass
// of SNMPInteger, the actual type is BigInteger (which permits arbitrarily large values to
// be represented).
BigInteger javaIntegerValue = (BigInteger)snmpValue.getValue();
// now send an SNMP SET request to set the value of the SNMP variable
// corresponding to OID 1.3.6.1.2.1.1.1.0; this is the OID corresponding to
// the device identifying string, and the type is thus SNMPOctetString;
// to set a new value, a string is supplied
itemID = "1.3.6.1.2.1.1.1.0";
SNMPOctetString newValue = new SNMPOctetString("New device name");
System.out.println("Setting value corresponding to OID " + itemID);
System.out.println("New value: " + newValue.toString());
// the setMIBEntry method of the communications interface returns the SNMPVarBindList
// corresponding to the supplied OID and value
// This call will probably cause an SNMPSetException to be thrown, since the
// community name "public" is probably not the read/write password of the device
newVars = comInterface.setMIBEntry(itemID, newValue);
}
catch(Exception e)
{
System.out.println("Exception during SNMP operation: " + e + "\n");
}
Traduis les commentaires, c'est déjà expliqué. Un bon informaticien est sensé avoir un niveau correct en anglais technique. Utilise Google Translate sinon.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013129 20 mars 2010 à 12:00
Toujours pas bonjour à toi... C'est si dur que cà d'être poli et montrer un minimum de respect à la communauté codes-sources ?
Comment veux-tu qu'on te réponde : il y a tout plein de classe tirée d'une bibliothèque dont la très grande majorité d'entre nous n'en a jamais entendu parlé...
Il n'y a pas une doc liée à la bibliothèque que tu as trouvé sur le net ?
______________________________________
AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
farahoo
Messages postés45Date d'inscriptionvendredi 12 février 2010StatutMembreDernière intervention 9 mai 2010 20 mars 2010 à 12:11
je suis daccord avec toi
mais ilnest pas la le probleme !!!! il est dans la comprehension des commandes et mots cles java utilisés dans ce code je ne les connais pas tous je ne comprends pas leur structures
cs_Kysic
Messages postés332Date d'inscriptionmardi 12 juillet 2005StatutMembreDernière intervention17 juillet 2010 20 mars 2010 à 14:48
Bonjour,
Moi je ne comprends pas bien ce que tu ne comprends pas.
Il ne me semble pas y avoir de mots clés java particulier ici, peut être est-ce les conversions de types (cast) qui te dérange ?
Si connaît tu snmp et la MIB ? Si non commence par te renseigner à ce sujet.
Cdt