NET :: SNPP :: Server

NET :: SNPP :: Server es una interfaz de objeto para crear servidores SNPP.
Descargar ahora

NET :: SNPP :: Server Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Al Tobey
  • Sitio web del editor:
  • http://search.cpan.org/~tobeya/Net-SNPP-1.17/lib/Net/SNPP/Server.pm

NET :: SNPP :: Server Etiquetas


NET :: SNPP :: Server Descripción

NET :: SNPP :: Server es una interfaz de objeto para crear servidores SNPP. Net :: :: SNPP Server es una interfaz de objetos para la creación de servidores SNPP. Casi todo lo que necesita para crear su propio servidor SNPP está aquí, en este módulo. Hay un método de devolución de llamada () que puede sustituir la función por defecto con su propio. ellos. Cualquier comando SNPP puede ser sustituido o nuevos los / personalizados pueden ser creados usando custom_command (). Para desactivar los comandos que simplemente no quiere tratar con, el uso disable_command (). SYNOPSISThere puede ser una sinopsis aquí algún día ... METHODSnew () Crea un objeto de escucha SNPP :: :: Net Server en un puerto. Por defecto, sólo se escucha en el host local (127.0.0.1) - especifique multitarjeta para escuchar en todas las direcciones o localaddr para escuchar en una sola. mi $ SVR = Net :: SNPP :: Servidor> nueva (puerto => puerto para escuchar en bindto => dirección de interfaz va a emplear multitarjeta => escucha en todas las interfaces si es cierto (y bindto no está definido) Escucha => cuántos conexiones simultáneas al mango (SOMAXCONN) # las dos opciones siguientes sólo son utilizados por handle_client () MaxErrors => número máximo de errores antes de desconectar el cliente tiempo de espera => tiempo de espera a la espera de los datos (usos SIGARLM)); cliente () llama a accept () para usted y devuelve un identificador de cliente. Este método se bloqueará si no hay ningún cliente espera. El mango devuelto es una subclase de IO :: Handle, por lo que todos los métodos de IO :: Handle deben trabajar. mi cliente $ = $ servidor-> cliente (); ip () Devuelve la dirección IP asociada con un mango cliente. printf "conexión desde% s", $ cliente-> ip (); socket () Devuelve el identificador de socket prima. Esta existe principalmente para su uso con select () o IO :: Seleccionar. mi $ select = IO :: Seleccionar-> new (); $ Seleccionar-> add ($ server-> socket ()); conectados () Para el uso con un mango cliente. True si se toma servidor todavía alive.shutdown () cierra el socket del servidor. $ Server-> shutdown (2); devolución de llamada () Insertar una devolución de llamada en Server.pm. $ Server-> devolución de llamada ( 'process_page', mi_funcion); $ Server-> devolución de llamada ( 'validate_pager_id', mi_funcion); $ Server-> devolución de llamada ( 'validate_pager_pin', mi_funcion); $ Server-> devolución de llamada ( 'write_log', mi_funcion); $ Server-> devolución de llamada ( 'create_id_and_pin', mi_funcion); process_page ($ PAGER_ID,% PAGE, @RESULTS) $ PAGER_ID = $ PAGE = {lío => $, respuestas => [],} validate_pager_id (PAGER_ID) el valor de retorno de esta devolución de llamada se guardará como el ID del avisador que se pasa a la devolución de llamada process_page como el primer elemento de la lista de la primera argument.validate_pager_pin (VALIDATED_PAGER_ID, PIN) el valor devuelto por esta devolución de llamada se guardará como el segundo elemento de la lista en el primer argumento a process_page. La entrada PAGER_ID a esta devolución de llamada es la salida de la callback.NOTE validate_pager_id: Si realmente se preocupan por el PIN, debe utilizar esta llamada. La devolución de llamada por defecto devolverá 1 si el pasador no es argumento set.write_logFirst es un nivel de syslog Unix, tales como "advertencia" o "info". El resto de los argumentos son el mensaje. El valor de retorno es ignored.create_id_and_pinCreate un ID y PIN para un message.custom_command 2 vías () Crear un comando personalizado o anular una orden predeterminado en handle_client (). El nombre del comando debe ser de 4 letras o números. El segundo argumento es un coderef que debe devolver un comando de texto, es decir, "250 OK" y algún valor "definido" para continuar el bucle de cliente. +++ Si no se establece ningún valor, el cliente se desconecta después de ejecutar el comando. +++ Si necesita MSTA o KTAG, este es el gancho es necesario implementar them.The subrutina se pasarán los argumentos del comando, dividida en espacios en blanco. sub my_MSTA_sub {my ($ id, $ contraseña) = @_; # ... retorno "250 OK", 1; } $ Server-> custom_command ( "MSTA", my_MSTA_sub); disable_command () Especificar un comando para deshabilitar en el servidor. Esto es útil, por ejemplo, si usted no quiere apoyar el nivel 3 comandos. $ Server-> disable_command ( "2VÍAS", "5502VÍAS no se admite aquí"); El segundo argumento es un mensaje de error personalizado opcional. El valor por defecto es: "500 Comando no implementado, intente de nuevo" handle_client () toma el resultado de $ servidor-> cliente () y se encarga de analizar la entrada del usuario. Esto debería ser bastante cerca de ser compatible rfc1861. Si ha especificado Tiempo de espera para ser algo distinto de 0 en el nuevo (), SIGARLM se utiliza para establecer un tiempo de espera. Si se utiliza este, asegúrese de tomar en cuenta las señales de la hora de escribir el código. tenedor () 'ing antes de llamar handle_client es una buena manera de evitar la interrupción de código que no debería estar interrupted.forked_server () Crea un servidor en un proceso en forma de horquilla. El valor de retorno es una matriz (o arrayref dependiendo del contexto) que contiene un tubo de sólo lectura y el PID del nuevo proceso. Páginas completas serán escritos a la tubería como un punto y coma delimitado matriz. mi ($ tubería, $ pid) = $ server-> forked_server (); mi línea de $ = $ pipa> getline (); chomp ($ line); mi (PGR $, $ PGR, pagedata%) = split (/; /, $ línea); Requisitos: · Requisitos de Perl: · Perl


NET :: SNPP :: Server Software relacionado