El siguiente programa (Servidor) esta diseñado para atender solicitudes de "Estado del Tiempo" vía XMLRPC bajo el puerto TCP 12000 de la máquina local (localhost), dicho procesamiento es llevado acabo por el Parser expat; después se observará como este mismo Servidor puede atender solicitudes de otros Clientes que no están escritos en Perl.
En base a su ambiente puede generar el siguiente Servidor XMLRPC
Asegúrese que ningún otro Servidor este corriendo bajo el mismo puerto
|
Código Fuente ServicioClima.pl Servidor Perl en XMLRPC
#!/usr/bin/perl use Frontier::Daemon; |
sub el_clima {
my $pais = shift;
if ($pais =~ /japon/) {
return "$pais : Asoleado";
} elsif ($pais =~ /inglaterra/) {
return "$pais : Bruma, como siempre...";
} elsif ($pais =~ /rusia/) {
return "$pais : Nevado";
} else {
return "$pais no esta disponible , por favor elija entre [japon|inglaterra|rusia]";
}
}
|
printf "Inicializando el Servidor XML-RPC en el puerto 12000...\n";
printf "Aceptando solicitudes. (Ctrl-C para terminar el servidor)\n";
new Frontier::Daemon
LocalPort => 12000,
methods => {
'clima.mundial' => \&el_clima,
};
|
Primeramente se declara que este programa utilizará el interpretador de Perl (
#!/usr/bin/perl), seguido de la utilización del moduloFrontier::Daemonempleado para Servidores XMLRPC.Se define el procedimiento
el_climaque extrae el valor de entrada através demy $pais = shift;y lo compara con ciertos valores para retornar un resultado.Se inicializa el Servidor XMLRPC bajo el puerto TCP 12000 de la máquina local.
La función
el_climaes asociada con el método XMLRPCclima.mundial.
