Newsgroup: it.comp.www.php
Titolo: Devo fare una cosa strana, mi direste la vostra?

Nel sito di una pista per modellini a scoppio vorrebbero inserire in
real-time i tempi dei concorrenti mentre questi girano, i gestori
dell'impianto usano un applicativo in C++ appositamente realizzato per
gestire tempi, record sul giro, ecc ecc.
Parlando con il programmatore che ha realizzato l'applicativo si è
pensato di procedere in uno di questi due modi:
1) L'applicativo ogni 10/15 secondi spedisce un file txt formattato tipo
cvs 
2) L'applicativo ogni 10/15 secondi aggiorna un Db MySQL
I dati vengono poi recuperati da uno script php a sua volta gestito via
AJAX dalla pagina del browser.
Una volta questo lo si faceva con le applets, poi è arrivato Flash,
adesso c'è AJAX.
In tutti i casi i tratta di presentare a video dei risultati che
cambiano continuamente senza la necessità di ricaricare il browser.
Quello che vi chiedevo è se l'approccio che abbiamo pensato è corretto e
se esistono altre vie per gestire la cosa.
Aggiungo che il server è su Aruba e che quindi non possiamo collegarci
via socket al Db
Grazie per le vostre opinioni.
Max
-- 
http://www.maxori.it
L'Arte è la capacità di fare cose di nessun valore
e di riuscire a venderle
F. Zappa

 Max
-- 
Voi un applicazione web per la tua azienda ?
non riesci mai a trovare quello che sai di avere
e non ricordi chi lo ha fatto
g u f o _ r o s s o  CHIOCCIOLA 
libero.it

 tramite get o post
E' vero, non ci avevo pensato. Grazie
Per il cambio provider lo so anch'io, ma dovrei convincere il
proprietario, cosa non facile, ma ci proverò.


via socket al Db
Direi che la soluzione sia la migliore. Per inviare i dati io predisporrei
una form protetta da password per l'upload di file, ed una applicazione di
linea di comando (httpupload c'e' per Linux - ma figurati se non c'e' pure
per Windows) che manda su i dati in CSV, o direttamente in SQL, dopodiche'
chiama lo script PHP sul server che li incorpora.
Prevederei di scindere la cosa in due pezzi:
1) L'applicazione C++ che prepara i dati in SQL, li mette in una directory
   e chiama i file per es. 20081028115422.sql, 20081028115439.sql
2) Una applicazione (o batch) che ogni tot si spazzola la directory, e, se
   trova un file, lo manda su; e se ci riesce (riceve un OK appropriato ad
   es. contenente il nome del file dallo script di incorporazione) elimina
   il file dalla directory.
Cosi', in caso qualcuno inciampi nel cavo dell'ADSL, non succede niente, e
quando il cavo viene riconnesso la roba arretrata viene mandata su - senza
nessuna perdita di informazioni.
Leonardo
-- 
Faro' con piu' diletto manifesta
La bella istoria che ho gran tempo ordita:
Venite ad ascoltare in cortesia,
Segnori e dame, e bella baronia.

 Leonardo
Mmmmh, ora mi studio per benino i tuoi consigli.
Per ora vedo solo un problema, essendo il server su Aruba (anche se
Linux) non posso usare nessun cron per leggere una dir, e qui
entrerebbero in gioco le XMLhttp_request di AJAX, giusto?


 chiama lo script PHP sul server che li incorpora.
sě, io prenderei in considerazione anche di incapsulare tutto in un
flusso xml
 
per l'op: ma quanto sono grossi questi file?
potresti anche passare da ftp
-- 
Web marketing & community management:
http://www.insistema.com/

 potresti anche passare da ftp
Sono pochi bytes, per l'esattezza hanno questo formato
nr      nome            time     lap  best time   best lap
1  Carlo Pedretti  16:576   15    16:280         12
e in oltre che gara è, che giro è, e il giro più veloce 
Tutto li.


entrerebbero in gioco le XMLhttp_request di AJAX, giusto?
No, perche'? Non c'e' nessun cron; i dati vengono inviati dalla
macchina che hai in casa tu - dove gira l'applicativo che legge
i dati della pista, e l'altro applicativo che fa l'upload.


 Leonardo
Si, mi ero spiegato male infatti.
Intendevo dire che non ci sono altre soluzioni per ricaricare i
contenuti senza ricaricare la pagina se non con una richiesta AJAX


contenuti senza ricaricare la pagina se non con una richiesta AJAX
Ma questo dal client, cioe':
Macchina 1 [ Pista ] --> [ Applicazione C++ ] ---> [ Files ]
           [ Files ] --> [ Batch / altro ] ---> upload
Server Aruba:      ---> upload.php ---> MySQL
Un tizio   [ show.php ]  <---> MySQL
Se vuoi che la pagina dei risultati si autoaggiorni per il tizio,
si', li' ti serve AJAX -- ma solo li', e' indipendente dal resto.


 Max
Per il controllo dei dati lo script di fai dare un OK o KO
l'applicativo sa se e' andato a buon fine, in caso fa lo storage
in locale (ti consiglio di fare anche un file in locale)
