Visualizza - Garr
Visualizza - Garr
Visualizza - Garr
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Esempio completo<br />
Front-end:<br />
// Richieste al back-end:<br />
$opts = array();<br />
// due scalari<br />
$opts['colour1'] = '#72e3fa';<br />
$opts['colour2'] = '#2a6f99';<br />
// un array<br />
$opts['colours'] = array ( '#12af7d', '#56fc7b');<br />
// chiamata alla funzione in back-end<br />
$out_list = nfsend_query("Pluginname::try", $opts);<br />
//Risposte del back-end:<br />
// if $out_list == FALSE – it's an error<br />
if ( !is_array($out_list) ) {<br />
SetMessage('error', "Errore del plugin di back-end");<br />
return FALSE;<br />
}<br />
$string = $out_list['string'];<br />
$othercolours = $out_list['othercolours'];<br />
print “Il back-end ha risposto: $string\n";<br />
back-end:<br />
#Gestione delle richieste del front-end:<br />
our %cmd_lookup = (<br />
'try' => \&RunProc,<br />
);<br />
sub RunProc {<br />
my $socket = shift;<br />
my $opts = shift; # riferimento ad un hash<br />
# Lettura dati del front-end<br />
#due scalari<br />
my $colour1 = $$opts{'colour1'};<br />
my $colour2 = $$opts{'colour2'};<br />
# un puntatore ad array<br />
my $colours = $$opts{'colours'};<br />
#Ritorno dei risultati al front-end:<br />
# esempio controllo d’errore<br />
if ( !exists $$opts{'colours'} ) {<br />
Nfcomm::socket_send_error($socket, "Missing value");<br />
return;<br />
}<br />
my %args;<br />
my @othercolours = ( ‘rosso', ‘blu' );<br />
$args{'string'} = “Ciao dal plugind di back-end."<br />
$args{'othercolours'} = \@othercolours;<br />
Nfcomm::socket_send_ok($socket, \%args);<br />
} # fine della funzione RunProc<br />
105<br />
Nino Ciurleo, Alessandro Inzerilli, Simona Venuti<br />
GARR WS9, Roma, 15.06.2009