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 kenwaz . Évalué à 2.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.