EventMachine implementa un veloce, motore a thread singolo per le comunicazioni di rete arbitrari. E 'estremamente facile da usare in Ruby.
EventMachine avvolge tutte le interazioni con i socket IP, permettendo programmi di concentrarsi sull'attuazione dei protocolli di rete. Può essere utilizzato per creare sia i server di rete ei client.
Per creare un server o un client, un programma in Ruby deve solo specificare l'indirizzo IP e la porta, e di fornire un modulo che implementa il protocollo di comunicazione. Implementazioni di diversi protocolli di rete standard sono forniti con il pacchetto, in primo luogo per servire da esempio. Il vero obiettivo di EventMachine è per attivare i programmi di interfacciarsi facilmente con altri programmi che utilizzano il protocollo TCP / IP, in particolare se sono necessari protocolli personalizzati.
Un programma in Ruby utilizza EventMachine registrando gli indirizzi e le porte dei server di rete e client, e quindi immettendo un ciclo di gestione degli eventi. EventMachine contiene codice collante in Ruby che eseguirà callback al codice fornito dall'utente per tutti gli eventi di rilievo avvenuti nei client e server. Questi eventi includono accettazione collegamento, messa, i dati-ricevuta, l'arresto, e eventi timer. Elaborazione generica può essere effettuata da codice utente durante callback di eventi, tra cui l'invio di dati a uno o più compagni di rete remoto, avvio e chiusura delle connessioni di rete, e l'installazione di nuovi gestori di eventi.
L'EventMachine implementa un modello molto familiare per la programmazione di rete.
E sottolinea:
1) il possibile isolamento massimo di codice utente da oggetti di rete come prese;
2) il massimo delle prestazioni e scalabilità;
3) estrema facilità d'uso per il codice utente. Essa tenta di fornire una interfaccia di livello superiore rispetto ai progetti simili che espongono una serie di basso livello di gestione degli eventi e degli oggetti di rete per i programmi di Ruby.
Cosa c'è di nuovo in questa versione:
- convalida concorrenza Aggiunto a EM :: Iterator
- Aggiunto get_file_descriptor per ottenere fd per una firma
- Aggiunto EM.attach_server e EM.attach_socket_server
- starttls_options aggiunti al server SMTP
- closesocket fissa su Windows
- fissi costruire su Ruby 2.2
- errore di generazione Fisso su Ruby 1.9
- perdita timer fisso durante la risoluzione dns
- fissi ciclo infinito in doppia vicino
- problema di compilazione Fisso su LLVM
- codici di errore presa fissa su Win32
- Chiamata pausa da receive_data ha effetto immediato
- reactor_running? restituisce false dopo forcella
Cosa c'è di nuovo nella versione 1.0.7:
- convalida concorrenza Aggiunto a EM :: Iterator
- Aggiunto get_file_descriptor per ottenere fd per una firma
- Aggiunto EM.attach_server e EM.attach_socket_server
- starttls_options aggiunti al server SMTP
- closesocket fissa su Windows
- fissi costruire su Ruby 2.2
- errore di generazione Fisso su Ruby 1.9
- perdita timer fisso durante la risoluzione dns
- fissi ciclo infinito in doppia vicino
- problema di compilazione Fisso su LLVM
- codici di errore presa fissa su Win32
- Chiamata pausa da receive_data ha effetto immediato
- reactor_running? restituisce false dopo forcella
I commenti non trovato