Net :: snpp :: server

net :: snpp :: Server ist eine Objektschnittstelle zum Erstellen von SNPP-Servern.
Jetzt downloaden

Net :: snpp :: server Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Al Tobey
  • Website des Verlags:
  • http://search.cpan.org/~tobeya/Net-SNPP-1.17/lib/Net/SNPP/Server.pm

Net :: snpp :: server Stichworte


Net :: snpp :: server Beschreibung

Net :: snpp :: server ist eine Objektschnittstelle zum Erstellen von SNPP-Servern. Net :: snpp :: server ist eine Objektschnittstelle zum Erstellen von SNPP-Servern. Fast alles, was Sie zum Erstellen Ihres eigenen SNPP-Servers benötigen, ist hier in diesem Modul. Es gibt eine Callback-Methode (), die die Standardfunktion mit Ihren eigenen ersetzen kann. Ihnen. Jeder SNPP-Befehl kann überschrieben oder neue / benutzerdefinierte Einkenntnisse mit Custom_command () erstellt werden. Um Befehle zu deaktivieren, möchten Sie einfach nicht damit umgehen, verwenden Sie disable_command (). Die synopsishere ist möglicherweise eine Synopsis hier sein Someday ... Methodennew () Erstellen Sie ein Netz :: SNPP :: Server-Objekt, das auf einem Port hört. Standardmäßig hört es nur auf der LocalHost (127.0.0.1) - angeben MultiHomed, um alle Adressen oder localAddr anzuhören, um nur eins zu hören. My $ svr = net :: snpp :: server-> neu (Port => Anschluss, um auf Backtto => Schnittstellenadresse an MultiHomed => Anhören an alle Schnittstellen zu binden Simultanean-Verbindungen zum Griff (SomaxConn) # Die folgenden zwei Optionen werden nur von Griff_Client () MAXErrors => Maximale Anzahl von Fehlern verwendet, bevor Client-Timeout => Timeout beim Warten auf Daten (verwendet SIGARLM)); Client () Anrufe akzeptieren () Für Sie und gibt einen Client-Griff zurück. Diese Methode blockiert, wenn kein wartender Kunde vorhanden ist. Der zurückgegebene Griff ist eine Unterklasse von IO :: Griff, sodass alle IO :: Griff-Methoden funktionieren sollten. Mein $ Client = $ Server-> Client (); IP () Gibt die mit einem Client-Griff verbundene IP-Adresse zurück. Printf "Anschluss aus% s", $ Client-> IP (); Socket () Gibt den Rohbuchsengriff zurück. Dies ist hauptsächlich für den Einsatz mit ausgewählt () oder io :: ausgewählt. MEIN $ SELECT = IO :: SELECT-> NEUE (); $ SELECT-> Hinzufügen ($ Server-> Buchse ()); angeschlossen () zur Verwendung mit einem Client-Griff. TRUE Wenn Server-Socket noch lebendig ist. $ Server-> Herunterfahren (2); Callback () Fügen Sie einen Rückruf in server.pm ein. $ Server-> Callback ('cocent_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 => $, Antworten => [],} validate_pager_id (pager_id) Der Rückgabewert dieses Rückrufs wird als Pager-ID gespeichert, der als erstes Listenelement des ersten Arguments des ersten Arguments an den Prozess_Page-Rückruf weitergegeben wird. Durch diesen Rückruf wird im ersten Argument zum Prozess_Page als zweites Listenelement gespeichert. Der Pager_ID-Eingang in diesen Callback ist die Ausgabe des Callback-Callbacks Validate_PAGER_ID.note: Wenn Sie sich wirklich um die PIN kümmern, müssen Sie diesen Rückruf verwenden. Der Standardabruf zurückgibt, wenn die PIN nicht eingestellt ist Der Rest der Argumente ist die Nachricht. Rückgabewert ist ignoriert.Create_ID_AND_PINREATE Eine ID und PIN für eine 2 -Away Message.custom_command () Erstellen Sie einen benutzerdefinierten Befehl oder überschreiben Sie einen Standardbefehl in Griff_Client (). Der Befehlsname muss 4 Buchstaben oder Zahlen sein. Das zweite Argument ist ein CODEREF, der einen Textbefehl zurückgeben soll, d. H. "250 OK" und ein "definierter" Wert, um die Client-Schleife fortzusetzen. +++ Wenn kein Wert eingestellt ist, wird der Client nach dem Ausführen Ihres Befehls getrennt. +++ Wenn Sie MSTA oder KTAG benötigen, ist dies der Haken, den Sie zum Implementieren benötigen. Die Subroutine wird die Befehlsargumente übergeben, aufgeteilt, aufgeteilt Whitespace sub my_msta_sub {meine ($ ID, $ passy) = @_; # ... zurückkehren "250 ok", 1; } $ server-> custom_command ("msta", my_msta_sub); disable_command () Geben Sie einen Befehl an, der auf dem Server deaktiviert ist. Dies ist zum Beispiel nützlich, wenn Sie keine Befehle der Level 3 unterstützen möchten. $ server-> deaktivieren_command ("2way", "5502way nicht hier unterstützt"); Das zweite Argument ist eine optionale benutzerdefinierte Fehlermeldung. Der Standardwert ist: "500 Befehl nicht implementiert, erneut versuchen" griff_client () hat das Ergebnis von $ Server-> Client () und kümmert sich um den Analysieren der Benutzereingabe. Dies sollte ziemlich nahe sein, um RFC1861-konform zu sein. Wenn Sie ein Timeout angegeben haben, um etwas anderes als 0 in neuem (), wird SIGARLM verwendet, um ein Timeout festzulegen. Wenn Sie dies verwenden, stellen Sie sicher, dass Sie beim Schreiben Ihres Codes Signale berücksichtigen. Gabel () 'Ing, bevor der Anruf von Griff_Client ist, ist ein guter Weg, um den Unterbrechung von Code zu vermeiden, der nicht unterbrochen wurde .FForked_Server () Erstellt einen Server in einem Gabelprozess. Der Rückgabewert ist ein Array (oder ein ArrayRef je nach Kontext), der ein schreibgeschütztes Rohr und die PID des neuen Prozesses enthält. Die abgeschlossenen Seiten werden als Semikolon-Abgrenzung an das Rohr geschrieben. meine ($ Pipe, $ PID) = $ server-> gabeled_server (); meine $ line = $ pipe-> getline (); chomp ($ line); Mein ($ PGR, $ PGR,% Pagedata) = Split (/; /, $ Line); Anforderungen: · Perl Anforderungen: · Perl.


Net :: snpp :: server Zugehörige Software