Forum Programmation.perl snmp mode asynchrone et fonction callback

Posté par  .
Étiquettes : aucune
0
27
fév.
2008
bonjour,

Je voudrais effectuer mes requetes snmp en mode asynchrone.

Seulement je ne parviens pas à extraire les données vouluues à partir de la foncttion callback.

Voici le code:

use SNMP;
use Data::Dumper;

$session = new SNMP::Session(DestHost => "$ip", Community => "$com", UseSprintValue => 1, Version => 1);

my $res = $session->get("sysDescr.0",[\&call]);
die $session->{ErrorStr} if ($session->{ErrorStr});
SNMP::MainLoop();

Et la fonction callback:

sub call {
my $vlist = shift;
print "ok\t0:'$vlist->[0][0]'\t1:'$val->[0][1]'\t2:'$val->[0][2]'\t3:'$val->[0][3]'\n";
print Dumper($vlist);
SNMP::finish();


Le resultat affiché a lecran est :

0:'sysDescr' 1:'' 2:'' 3:''
0:''
$VAR1 = bless( [
bless( [
'sysDescr',
'0',
'Cisco Systems WS-C6513
Cisco Catalyst Operating System Software, Version 8.4(6)
Copyright (c) 1995-2006 by Cisco Systems
',
'OCTETSTR'
], 'SNMP::Varbind' )
], 'SNMP::VarList' );


Je comprend pas pourquoi j'arrive à accéder au premier champs du tableau 'sysDescr' et pas aux suivants(le resultat voulu).

Quelqu'un aurait une idée ?

Je ne trouve pas de doc sur le net trés clair sur le mode asynchrone.

Merci
  • # resolu, trés bete

    Posté par  . Évalué à 2.

    c' est bon j'ai trouvé l'erreur , quel idiot je suis ! j'ai planté une demi journée à cause de ça la haine ... $vlist <---> $val !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.