Ok, supponiamo che tuo programma A, attivo dalle 08.00 alle 18.00, vada a leggere dei file di testo (per fare un'esempio) che il programma B, attivo h24, ha ricevuto
Il programma andra' a leggere un file e lo servira', se disponibili altri file li leggera' uno alla volta e li servira'
Finito di eseguire i comandi nei file disponibili, si mettera' in attesa di esentuali altri file che arrivassero e li servira', un qualcosa tipo
FileObserver o simile
Il timer, a che serve?
interessante e non è detto che non venga utilizzato ma faccio chiarezza sul mio progetto:
1) server: una software che prende a carico domande e genera le risposte, le domande hanno dei riferimenti ben precisi che verranno poi modificati, esempio (domanda senza risposta, gruppo di appartenenza, ecc ecc
2) tutte le richieste vengono memorizzate su database (ho scelto mysql visto che è il più utilizzato per lato web)
3) client: invia richiesta (ogni richiesta è completa di id client, gruppo, ect ect) e attende risposta e viene memorizzata su database (mysql)
tutto abbastanza semplice
quindi abbiamo un progetto basato su client che non fa altro che domandare e leggere le risposte, un server che non fa altro che prendersi a carico le domande e generare le risposte e un database che non fa altro che memorizzare ogni dato
client è uno a molti (android, ios, mac, linux, windows)
server è uno (windows, mac, linux)
database è uno (mysql)
Su base velocità del server mysql e stabile, scalabile e veloce è può memorizzare infiniti mb di dati
Il server ho notato che può essere veloce ma non deve essere troppo veloce visto che molte risposte arrivano dal web
il client deve essere semplice e minimalista
ho notato che UDP come scriveva anche
@LucaMs non è affidabile per i pacchetti che si possono volatilizzare e cmq ha limiti già per se anche se poi viene usato per tanti prodotti stream, MQTT sembra andare bene ma anche lui richiede attenzioni non indifferenti, IO non ho tutta questa base di conoscenza e quindi mi dovrei affidare a persone esterne cosa che non amo molto essere dipendente.
da qui mi sono posto una domanda, ma se usi mysql come base dati e cmq un server riceve e invia risposte ha dei timer che fanno leggere e scrivere o fanno azioni ben precise cosa mostruosa che io al momento non necessito perchè non usare i timer che in modo preciso e sincronizzato mi fanno il lavoro sporco di leggere e scrivere?
Da qui nascono le domande
i timer influiscono molto?
quanti timer posso usare o mi servono? (su client 2) , (sul server 3/5), pare ovvio che poi le risorse che userò fanno la differenza su l'uso della memoria del pc e non sul client che domanda e legge la risposta. qui sotto metto un disegno idea.
Ora visto che mysql esitono anche i
trigger (Il trigger MySQL è un oggetto di database che è associato ad una tabella. Sarà attivato quando un’azione predefinita viene eseguita per la tabella. Il trigger può essere eseguito quando esegui uno dei seguenti statement MySQL sulla tabella: INSERT, UPDATE e DELETE. Può essere richiamato prima o dopo l’evento.) da qui mi sono detto, potrei sfruttare il motore MYSQL come server dati che mi muove le app client e server.
Ecco perché la domanda iniziale.