Ereignis :: lib :: uDppump

Ereignis :: lib :: uDppump ist ein Ereignis :: LIB-Ereignistyp für Hochleistungs-UDP-Anwendungen.
Jetzt downloaden

Ereignis :: lib :: uDppump Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Clayton O'Neill
  • Website des Verlags:
  • http://search.cpan.org/~cmo/Event-Lib-UDPPump-0.01/lib/Event/Lib/UDPPump.pm

Ereignis :: lib :: uDppump Stichworte


Ereignis :: lib :: uDppump Beschreibung

Event :: lib :: uDppump ist ein Ereignis :: LIB-Ereignistyp für Hochleistungs-UDP-Anwendungen. Ereignis :: lib :: uDppump ist ein Ereignis :: LIB-Event-Typ für Hochleistungs-UDP-Anwendungen.Synopsis-Veranstaltung :: lib :: UDPPUMP; Verwenden Sie io :: Socket :: inet; meine $ numchildren = 10; MEINE $ S = IO :: Sockel :: inet-> neu (Proto => 'UDP', localport => 5000); Gabel () foreach (1 .. ($ numchildren - 1)); meine $ pump = udppump_new ($ s, callback, @args); $ pump-> add (); event_mainloop (); Unterrückruf {MY ($ ergebnisse_hrref, @args) = @_; # Prozessergebnisse hier. } Dieses Modul ist für Personen gedacht, die Hochleistungs-UDP-Anwendungen schreiben. Es ist eine Erweiterung des Ereignisses :: LIB-Modul und kann bei mehreren Umständen eine bessere Leistung bieten. Wenn ein UDPPump-Ereignis für eine UDP-Buchse registriert ist, wird im Hintergrund ein PTHREADS-Thread erstellt. All dieser Thread ist Block in Recvfrom, der darauf wartet, dass ein Paket auf der Sockel empfangen wird. Wenn dies passiert, wird dann ein Paket an den Hauptfaden übergeben, das den Rückruf auffordert, den Sie registriert haben. Dies ist insbesondere in dem Fall, wenn Sie mehrere Prozesse haben oder alle Verarbeitungsdaten auf demselben UDP-Port haben. Dies vermeidet das Problem mit mehreren Prozessen, die alle Sperren in Select (oder Umfrage usw.) auf den Verkehr auf derselben Sockel auf den Verkehr warten, und dann auf alle warten und versuchen, von der Sockel gleichzeitig zu lesen, wenn neue Daten ankommen. leichter, Daemons umzusetzen, wo jede Anforderung erhebliche Verarbeitung erfordern kann. Dies liegt daran, dass der RECVRom-Thread, während der Rückruf läuft, während der RECVRom-Thread auf Sie wartet, bis Sie abgeschlossen sind. Dies bedeutet, dass Sie eine Reihe von untergeordneten Prozessen als Arbeiter ausführen können, und solange Sie ein paar von ihnen warten, werden die Antwortzeiten nicht leiden. Der andere Hauptgeld ist, dass es Ihnen ermöglicht, die Nutzung Prozessor- / Multi-Core-Server, ohne auf Threads zurückgreifen zu müssen. Dies ist der Hauptgrund, warum dieses Modul umgesetzt wurde. Anforderungen: · Perl.


Ereignis :: lib :: uDppump Zugehörige Software