PDA

View Full Version : Come sincronizzarsi ???


Bitru
08-03-2006, 04:55
ciao sto facendo un timer analogico da tener sul desktop del pc.

La domanda è ....come faccio a sincronizzarlo con un timer preso da url e non con l'orario del mio pc???? grazie per l'info. :mc:

-fidel-
08-03-2006, 09:24
ciao sto facendo un timer analogico da tener sul desktop del pc.

La domanda è ....come faccio a sincronizzarlo con un timer preso da url e non con l'orario del mio pc???? grazie per l'info. :mc:

Che linguaggio di programmazione usi? Cosa intendi con "prendere l'ora da url"? Normalmente per prendere l'ora da remoto ci sono server appositi. (date/time server)

franksisca
08-03-2006, 10:28
in java:
ore=Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
minuti=Calendar.getInstance().get(Calendar.MINUTE);
secondi=Calendar.getInstance().get(Calendar.SECOND);

fabianoda
08-03-2006, 11:31
A quanto ne so Calendar non si sincronizza con alcun server..

franksisca
08-03-2006, 11:39
sis incronizza col sistema, ma il sistema si sincronizza con url, quindi....certo che se non ti colleghi!!!

fabianoda
08-03-2006, 11:48
Beh.. questa può essere una soluzione.

Però è concettualmente errata, perché presupponi che chi lo usa ha il timer di sistema sincronizzato.. certo, per un utilizzo casalingo funziona.

cionci
08-03-2006, 12:03
Ci sono server adatti per la sincronizzazione... ma non mi ricordo come si chiama il protocollo :muro:

-fidel-
08-03-2006, 14:27
Ci sono server adatti per la sincronizzazione... ma non mi ricordo come si chiama il protocollo :muro:

NTP (protocollo di trasporto UDP su porta 123). Io uso su linux il demone (servizio per chi è abituato alla terminologia Win) 'ntpd' per sincronizzare ora e data di sistema in automatico. Il protocollo applicativo NTP è consultabile sul sito
http://www.ntp.org/index.html
Il tutto è in ottica GPL, quindi è possbile vedere anche l'implementazione del demone ntpd di linux. Ovviamente il tutto in C.
In questo modo fare un programma che sincronizza l'ora sfruttando i server che comunicano con NTP (e sono tanti, pubblici, ed una lista la potete trovare qui (http://www.eecis.udel.edu/~mills/ntp/clock2b.html)) è davvero semplice: il risultato è garantito (il protocollo prevede anche il tempo che intercorre tra la richiesta dell'ora ed il tempo che i dati vengano trasferiti dal server, quindi grande precisione).

Ciao ;)

Bitru
08-03-2006, 20:43
dunque il programma deve esssere autonomo quindi non deve dipendere da timer del pc deve,in poche parole, dare la possibilita all'utente di scegliere il server data/time e funzionare seguendo quello... il linguaggio...be possibilmente Visual basic se no cerchero di adattarmi anche a java..ma ripeto sarebbe molto piu gradito visual :stordita: :help: :help:

-fidel-
08-03-2006, 21:23
dunque il programma deve esssere autonomo quindi non deve dipendere da timer del pc deve,in poche parole, dare la possibilita all'utente di scegliere il server data/time e funzionare seguendo quello... il linguaggio...be possibilmente Visual basic se no cerchero di adattarmi anche a java..ma ripeto sarebbe molto piu gradito visual :stordita: :help: :help:

Rileggi il mio post precedente ;) Preciso il fatto che puoi implementare tranquillamente il client NTP in visual basic: NTP è infatti un protocollo a livello applicativo, e la comunicazione tra client e server è fatta sempre con socket UDP (che in VB sono tranquillamente gestiti). Devi solo andare sul sito che ho indicato prima per leggere le specifiche del protocollo per poterlo utilizzare (in pratica per conoscere i comandi che un server NTP si aspetta per comunicare data e ora, nonché il formato dei dati restituiti dal server.)
Mi pare che questa sia la soluzione più semplice per i tuoi scopi, e soprattutto non avrai mai problemi nell'avere un server pubblico NTP (che è uno standard intenazionale): ce ne sono diversi anche in italia, i principali sono:

tempo.ien.it (Istituto Elettrotecnico Nazionale Galileo Ferraris)
tempo.cstv.to.cnr.it (Centro Studi per la Televisione del C.N.R.)