NET :: SNPP :: Server

NET :: SNPP :: Server is een objectinterface voor het maken van SNPP-servers.
Download nu

NET :: SNPP :: Server Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Al Tobey
  • Uitgever website:
  • http://search.cpan.org/~tobeya/Net-SNPP-1.17/lib/Net/SNPP/Server.pm

NET :: SNPP :: Server Tags


NET :: SNPP :: Server Beschrijving

NET :: SNPP :: Server is een objectinterface voor het maken van SNPP-servers. Net :: SNPP :: Server is een object interface voor het maken SNPP servers. Bijna alles wat je nodig hebt om je eigen SNPP server te maken, is hier in deze module. Er is een methode callback () die standaard functie kan vervangen door uw eigen. hen. Elke SNPP commando kan overschreven worden of nieuwe / aangepaste degenen kunnen worden gemaakt met custom_command (). Om commando's uit te schakelen je gewoon niet willen om te gaan met het gebruik disable_command (). SYNOPSISThere kan een synopsis hier op een dag ... METHODSnew () Maak een Net :: SNPP :: Server object luisteren op een poort. Door gebrek, luistert alleen op de localhost (127.0.0.1) - geef Multihomed op alle adressen of LocalAddr om te luisteren naar geluisterd wordt slechts één. mijn $ svr = Net :: SNPP :: Server-> new (Port => poort op BindTo te luisteren => interface-adres te binden aan multihomed => luisteren op alle interfaces als het waar is (en BindTo is ingesteld) Luister => hoeveel gelijktijdige verbindingen met handgreep (SOMAXCONN) # de volgende twee opties worden alleen gebruikt door handle_client () MaxErrors => maximale aantal fouten voordat u client timeout => time-out tijdens het wachten op data (gebruik SIGARLM)); client () gesprekken accept () voor u en keert terug een klant handvat. Deze methode zal blokkeren als er geen wachttijd client. De geretourneerde handvat is een subklasse van IO :: Handle, zodat alle IO :: Handle methoden zou moeten werken. mijn $ client = $ server-> client (); ip () Geeft het IP-adres in verband met een klant handvat. printf "verbinding van% s", $ client-> ip (); socket () Geeft de raw socket handvat. Deze bestaat voornamelijk voor gebruik met de beste () of IO :: Select. mijn $ select = IO :: Selecteren-> new (); $ Keuze-> add ($ server-> socket ()); aangesloten () voor gebruik met een klant handvat. Waar als server socket is nog steeds alive.shutdown () schakelt de server socket. $ Server-> shutdown (2); callback () Plaats een callback in Server.pm. $ Server-> callback ( 'process_page', my_function); $ Server-> callback ( 'validate_pager_id', my_function); $ Server-> callback ( 'validate_pager_pin', my_function); $ Server-> callback ( 'write_log', my_function); $ Server-> callback ( 'create_id_and_pin', my_function) process_page ($ PAGER_ID,% PAGE, @RESULTS) $ PAGER_ID = $ PAGE = {mess => $, antwoorden => []} validate_pager_id (PAGER_ID) de resultaatwaarde van deze callback wordt opgeslagen als pager id dat voor het process_page callback wordt doorgegeven als het eerste lijstelement van de eerste argument.validate_pager_pin (VALIDATED_PAGER_ID, PIN) de waarde die door deze callback wordt opgeslagen als de tweede lijst element in het eerste argument om process_page. De PAGER_ID input voor deze callback is de output van de validate_pager_id callback.NOTE: Als je echt zorgen over de PIN-code, moet u deze callback gebruiken. De standaard callback zal terugkeren 1 als de pin is niet set.write_logFirst argument is een Unix syslog niveau, zoals "warning" of "info." De rest van de argumenten is de boodschap. Return value is ignored.create_id_and_pinCreate een ID en PIN-code voor een 2-weg message.custom_command () Maak een aangepaste opdracht of overschrijven van een standaard commando in handle_client (). De naam van de opdracht moet 4 letters of cijfers. Het tweede argument is een coderef een SMS-commando, dat wil zeggen "250 OK" en een aantal "gedefinieerde" waarde aan de klant loop verder moet terugkeren. +++ Als er geen waarde is ingesteld, zal de klant worden verbroken na het uitvoeren van uw opdracht. +++ Als u MSTA of KTAG nodig hebt, is dit de haak je nodig hebt om them.The subroutine te voeren, zal worden doorgegeven aan de commando argumenten, verdeeld over witte ruimte. sub my_MSTA_sub {mijn ($ id, $ password) = @_; # ... return "250 OK", 1; } $ Server-> custom_command ( "MSTA", my_MSTA_sub); disable_command () Geef een commando om te schakelen in de server. Dit is handig, bijvoorbeeld als u niet wilt niveau te ondersteunen 3-opdrachten. $ Server-> disable_command ( "2WAY", "5502WAY hier niet ondersteund") Het tweede argument is een optionele aangepaste foutmelding. De standaard is: "500 Commando niet uitgevoerd, Try Again" handle_client () stelt zich op het resultaat van $ server-> client () en draagt zorg voor het ontleden van de input van de gebruiker. Dit moet vrij dicht bij zijn rfc1861 compatibel zijn. Als u opgegeven Timeout naar iets anders dan 0 in nieuwe (), zal SIGARLM worden gebruikt om een time-out in te stellen. Als je dit te gebruiken, zorg ervoor om signalen rekening te houden bij het schrijven van uw code. fork () 'ing voordat u handle_client is een goede manier om het onderbreken van code die niet zou moeten zijn interrupted.forked_server () Hiermee wordt een server in een gevorkte proces te voorkomen. De retourwaarde een matrix (of arrayref afhankelijk van de context) met een alleen-lezen pijp en de pid van de nieuwe werkwijze. Bladzijden voltooid wordt geschreven naar de pijp een puntkomma's gescheiden array. mijn ($ pijp $ pid) = $ server-> forked_server (); mijn $ lijn = $ pijp-> getline (); chomp ($ lijn); mijn ($ PGR, $ PGR,% pagedata) = split (/, /, $ lijn); Vereisten: · Perl Vereisten: · Perl


NET :: SNPP :: Server Gerelateerde software

Perlbug :: log

PERLBUG :: Logboek is een PERL-module voor generieke logging / debugging-functies voor alle perlbug. ...

182

Downloaden