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.

72 CAPITOLO 3. IMPLEMENTAZIONE<br />

• ILink: identifica <strong>un</strong> canale <strong>di</strong> rete. Attraverso i me<strong>to</strong><strong>di</strong> Read() e Write()<br />

è possibile ascoltare ed inviare messaggi all’endpoint associa<strong>to</strong> all’ILink<br />

in questione.<br />

Figura 3.3: Interfacce NET<br />

Tali interfacce sono state concretizzate attraverso due classi: TCPNode e<br />

TPCLink. Il pro<strong>to</strong>collo <strong>di</strong> rete utilizza<strong>to</strong> come prima implementazione è infatti<br />

il TCP/IP. Applicazioni interattive come i videogiochi, spesso richiedono<br />

<strong>un</strong> frequente e rapido scambio <strong>di</strong> informazioni. Il pro<strong>to</strong>collo UDP potrebbe<br />

essere consigliabile in ques<strong>to</strong> senso, poiché è Message-Oriented invece che<br />

Stream-Oriented, e per ogni pacchet<strong>to</strong> invia<strong>to</strong> non deve aspettare <strong>un</strong> messaggio<br />

<strong>di</strong> ri<strong>to</strong>rno; d’altro can<strong>to</strong>, però, per evitare problemi <strong>di</strong> consistenza,<br />

ri<strong>su</strong>ltano necessari sistemi che garantiscono maggiore sicurezza e affidabilità<br />

in termini controllo <strong>di</strong> congestione, Ack <strong>di</strong> ricezione ed il mantenimen<strong>to</strong><br />

dell’or<strong>di</strong>ne <strong>di</strong> invio dei pacchetti. Inoltre per l’in<strong>di</strong>viduazione <strong>di</strong> <strong>un</strong>a Membership<br />

può ri<strong>su</strong>ltare più comodo <strong>un</strong> pro<strong>to</strong>collo Connection-oriented poiché<br />

la connessione e la <strong>di</strong>sconnessione <strong>di</strong> no<strong>di</strong> all’interno della rete vengono gestiti<br />

<strong>di</strong>rettamente dal sistema, rendendo <strong>su</strong>perflua <strong>un</strong>’emulazione logica la<strong>to</strong><br />

applicazione: esis<strong>to</strong>no infatti implementazioni UDP “Reliable”, anche appositamente<br />

mirate ai videogiochi (si veda Raknet 4 ), che, la<strong>to</strong> applicazione,<br />

4 http://www.jenkinssoftware.com

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

Saved successfully!

Ooh no, something went wrong!