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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.2. LAYER NET 73<br />

fanno fronte a ques<strong>to</strong> tipo <strong>di</strong> problematiche. Dal momen<strong>to</strong> che il Layer NET<br />

com<strong>un</strong>ica con il Layer de<strong>di</strong>ca<strong>to</strong> alla gestione della Membership attraverso interfacce<br />

agnostiche rispet<strong>to</strong> al pro<strong>to</strong>collo utilizza<strong>to</strong>, si è scel<strong>to</strong>, in prima istanza,<br />

<strong>di</strong> appoggiarsi al pro<strong>to</strong>collo TCP/IP. Questa scelta non ri<strong>su</strong>lta com<strong>un</strong>que<br />

vincolante, e sarà possibile, in futuro, <strong>su</strong>pportare <strong>un</strong>’implementazione esclusivamente<br />

UDP, od eventualmente ibrida, senza dover mo<strong>di</strong>ficare le interfacce<br />

dei Layer sovrastanti. E’ importante sot<strong>to</strong>lineare però come l’introduzione<br />

del <strong>su</strong>ppor<strong>to</strong> al pro<strong>to</strong>collo UDP renda necessario <strong>un</strong> sistema <strong>di</strong> or<strong>di</strong>namen<strong>to</strong><br />

dei pacchetti ricevuti, non richies<strong>to</strong> invece nell’attuale implementazione.<br />

Figura 3.4: Classi principali - Layer TCP<br />

• TCPNode: Concretizza l’interfaccia INode basandosi <strong>su</strong>l pro<strong>to</strong>collo<br />

TCP. Per rimanere in ascol<strong>to</strong> <strong>di</strong> connessioni esterne, viene utilizza<strong>to</strong><br />

<strong>un</strong> ogget<strong>to</strong> della classe TcpListener del FrameWork .NET.<br />

Quando si vuole connettere <strong>un</strong> TCPNode A ad <strong>un</strong> TCPNode B, <strong>su</strong>l<br />

primo viene chiama<strong>to</strong> il me<strong>to</strong>do ConnectTo(’B’) che creerà au<strong>to</strong>maticamente<br />

<strong>un</strong> TCPLink verso B, mentre <strong>su</strong>l secondo, quando sarà ri-

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

Saved successfully!

Ooh no, something went wrong!