08.09.2019 Views

Progettazione e Sviluppo di un Multiplayer Online Game su Reti Peer-to-Peer

Alma Mater Studiorum Universit`a degli Studi di Bologna Facolta` di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Scienze di Internet Tesi di Laurea in Laboratorio di Programmazione Internet

Alma Mater Studiorum Universit`a degli Studi di Bologna
Facolta` di Scienze Matematiche, Fisiche e Naturali
Corso di Laurea in Scienze di Internet
Tesi di Laurea in Laboratorio di Programmazione Internet

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.3. LAYER P2P 29<br />

Ques<strong>to</strong> modulo, quin<strong>di</strong>, permette <strong>di</strong> convertire in maniera del tut<strong>to</strong> trasparente<br />

il TimeStamp del mittente, che viene appeso a tutti i coman<strong>di</strong> del Layer<br />

Logic, utilizzando come base <strong>di</strong> conversione il proprio TimeStamp.<br />

Non vi è quin<strong>di</strong> <strong>un</strong> sistema <strong>di</strong> Master Clock assolu<strong>to</strong>, associa<strong>to</strong> ad <strong>un</strong> <strong>Peer</strong><br />

elet<strong>to</strong> tale, ad <strong>un</strong>a risorsa esterna alla Membership od <strong>un</strong> sistema centralizza<strong>to</strong><br />

Client-Server, come accade per il più accura<strong>to</strong> NTP 10 , ma <strong>un</strong> sistema<br />

basa<strong>to</strong> <strong>su</strong>lla conversione <strong>di</strong> TimeSpan relativi, simile a quan<strong>to</strong> avviene nella<br />

la conversione <strong>di</strong> orari provenienti da fusi orari <strong>di</strong>fferenti (Figura 2.7 e<br />

Figura 2.8).<br />

Figura 2.7: I <strong>Peer</strong> A e B inviano il proprio TimeStamp a C, che ne memorizza<br />

il TimeSpan rispet<strong>to</strong> al proprio<br />

Ques<strong>to</strong> sistema ri<strong>su</strong>lta essere sogget<strong>to</strong> a problemi derivanti dalla variazione<br />

<strong>di</strong> latenza (Jitter) tra i <strong>di</strong>versi <strong>Peer</strong>: i delta sono infatti destinati a <strong>su</strong>bire<br />

oscillazioni ad ogni aggiornamen<strong>to</strong>, rendendo la stima temporale piut<strong>to</strong>s<strong>to</strong><br />

approssimativa.<br />

L’accuratezza richiesta nelle applicazioni real-time, specialmente nelle situazioni<br />

concorrenziali, viene qui mitigata dal sistema implementa<strong>to</strong> nel Modulo<br />

SharedComponents (sezione 2.4): Grazie a quest’ultimo non si possono presentare<br />

casi <strong>di</strong> inconsistenza dello sta<strong>to</strong> <strong>di</strong> gioco dovuti al margine <strong>di</strong> errore<br />

10 Network Time Pro<strong>to</strong>col

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!