eventmachine implementiert eine schnelle, Single-Thread-Engine für beliebige Netzwerkkommunikation. Es ist extrem einfach, in Ruby zu verwenden.
eventmachine wickelt alle Interaktionen mit IP-Sockets, so dass Programme, um über die Umsetzung der Netzwerkprotokolle zu konzentrieren. Es kann verwendet werden, um beide Netzwerk-Servern und Clients zu erstellen.
Wenn Sie einen Server oder Client zu erstellen, muss ein Ruby-Programm nur die IP-Adresse und den Port anzugeben, und bieten ein Modul, das das Kommunikationsprotokoll implementiert. Implementierungen von mehreren Standardnetzwerkprotokolle werden mit dem Paket zur Verfügung gestellt, in erster Linie als Beispiel dienen. Das eigentliche Ziel der eventmachine ist es, Programme zu ermöglichen, leicht mit anderen Programmen unter Verwendung von TCP / IP, vor allem, wenn benutzerdefinierte Protokolle erforderlich sind, zu verbinden.
Ein Ruby-Programm verwendet eventmachine durch Registrierung der Adressen und Ports von Servern und Client, und klicken Sie dann Eingabe einer Ereignisbehandlungsschleife. Eventmachine enthält Glue-Code in Ruby, die Rückrufe an Benutzer angegebenen Code für alle bedeutenden Ereignisse in den Clients und Servern auftreten ausführen wird. Zu diesen Ereignissen gehören Verbindungsannahme, Inbetriebnahme, Daten-Empfang, Abschaltung und Timer-Ereignisse. Beliebige Verarbeitung kann durch Benutzercode während der Ereignisrückrufe durchgeführt werden, einschließlich das Senden von Daten an einen oder mehrere Remote-Netzwerk-Peers, Starten und Herunterfahren von Netzwerkverbindungen, und Installation von neuen Event-Handler.
Die eventmachine implementiert eine sehr vertraut Modell für Netzwerkprogrammierung.
Er betont:
1) die maximal mögliche Isolierung von Anwendercode auf Netzwerkobjekte wie Steckdosen;
2) maximale Leistung und Skalierbarkeit;
3) extreme Einfachheit der Verwendung zum Benutzercode. Es versucht, eine übergeordnete Schnittstelle als vergleichbare Projekte, die eine Vielzahl von Low-Level-Event-Handling und die Vernetzung Objekte Ruby-Programme freizulegen ist.
Was ist neu in dieser Pressemitteilung:
- Hinzugefügt Parallelität Validierung EM :: Iterator
- Hinzugefügt get_file_descriptor um fd für eine Unterschrift bekommen
- Added EM.attach_server und EM.attach_socket_server
- Hinzugefügt starttls_options zum SMTP-Server
- Feste close auf Windows
- Ruby 2.2 behoben build
- Feste Buildfehler auf Ruby 1.9
- Feste Timer Leck während der DNS-Auflösung
- Feste Endlosschleife auf Doppel Nähe
- Problem behoben Kompilierung auf LLVM
- Feste Socket-Fehlercodes auf Win32
- Der Aufruf von pause RECEIVE_DATA sofort wirksam
- reactor_running? false zurückgibt, nachdem Gabel
Was ist neu in der Version 1.0.7:
- Hinzugefügt Parallelität Validierung EM :: Iterator
- Hinzugefügt get_file_descriptor um fd für eine Unterschrift bekommen
- Added EM.attach_server und EM.attach_socket_server
- Hinzugefügt starttls_options zum SMTP-Server
- Feste close auf Windows
- Ruby 2.2 behoben build
- Feste Buildfehler auf Ruby 1.9
- Feste Timer Leck während der DNS-Auflösung
- Feste Endlosschleife auf Doppel Nähe
- Problem behoben Kompilierung auf LLVM
- Feste Socket-Fehlercodes auf Win32
- Der Aufruf von pause RECEIVE_DATA sofort wirksam
- reactor_running? false zurückgibt, nachdem Gabel
Kommentare nicht gefunden