GNU/Linux >> Linux Esercitazione >  >> Linux

Modello guidato dagli eventi in C con socket

"qual è la filosofia alla base di questo modello"

Event driven significa che non c'è "monitoraggio", ma che l'evento stesso avvia l'azione.

Di solito questo viene avviato da un'interruzione, che è un segnale al sistema da un dispositivo esterno o (nel caso di un'interruzione software) da un processo asincrono.

https://en.wikipedia.org/wiki/Interrupt

Ulteriori letture sembrano essere qui:

https://docs.oracle.com/cd/E19455-01/806-1017/6jab5di2m/index.html#sockets-40- "I/O socket guidato da interrupt"

Anche http://cs.baylor.edu/~donahoo/practical/CSockets/textcode.html ha alcuni esempi di socket guidati da interrupt, così come altri esempi di programmazione di socket.


Devi assolutamente leggere quanto segue:http://www.kegel.com/c10k.html. Quella pagina è la perfetta panoramica delle tecniche basate sugli eventi e asincrone.

Tuttavia, una risposta veloce e sporca :event-driven non è né non bloccante né asincrono.

Event-driven significa che il processo monitorerà i propri descrittori di file (e socket) e agirà solo quando si verifica un evento su un descrittore (gli eventi sono:dati ricevuti, errore, diventato scrivibile, ...).

I socket BSD hanno la funzione "select()". Quando viene chiamato, il sistema operativo monitorerà i descrittori e tornerà al processo non appena si verifica un evento su uno dei descrittori.

Tuttavia, il sito Web di cui sopra ha descrizioni molto migliori (e dettagli sulle diverse API).


Linux
  1. Perché la sostituzione del processo Bash non funziona con alcuni comandi?

  2. Cambiare layout di tastiera con I3?

  3. Hub USB 3.0 non funziona con alcuni dispositivi su Ubuntu 18.04?

  4. Come installare AWStats con alcuni plug-in su un server con ISPConfig

  5. Come configurare Apache con MPM Event e PHP-FPM su Ubuntu 20.04

Installa Linux con LVM

Sostituisci du con polvere su Linux

Dai un tocco di colore al tuo terminale Linux con lolcat

Aggiunta di una semplice GUI agli script della shell di Linux con kdialog

Impara lo streaming di eventi con questo tutorial di Apache Kafka

come disabilitare l'accesso SSH con password per alcuni utenti?