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.

76 CAPITOLO 3. IMPLEMENTAZIONE<br />

gui<strong>to</strong> il comando, e quin<strong>di</strong> Link.Write(new HandShakeResponse( Node.GetNetID()<br />

).ToString() ) , che <strong>di</strong> fat<strong>to</strong> corrisponderà alla risposta<br />

che il Node invierà al Link per notificare la propria identità.<br />

• HandShakeResponse: analogamente a HandShakeBegin, viene prima<br />

chiama<strong>to</strong> Node.SetNew- IdentifierOfLink( ILink Link, string Parameters<br />

) (questa volta <strong>su</strong>ll’altro Nodo), e quin<strong>di</strong> Link.Write( new Hand-<br />

ShakeEnd( Node.GetNetID() ) ) per notificare a Link l’avvenuta ricezione<br />

del comando HandShakeResponse. Inoltre viene flagga<strong>to</strong> a “true”<br />

l’attribu<strong>to</strong> “Active” relativo alla connessione tra il Node e l’EndPoint<br />

<strong>di</strong> Link.<br />

• HandShakeEnd: analogamente ad HandShakeResponse, <strong>su</strong>ll’Exec() viene<br />

attivata la connessione tra il Node e l’EndPoint <strong>di</strong> Link.<br />

Tra gli sviluppi futuri è stata considerata la possibilità <strong>di</strong> implementare<br />

<strong>un</strong> sot<strong>to</strong>-stra<strong>to</strong> ulteriore de<strong>di</strong>ca<strong>to</strong> alla compressione / decompressione dei dati,<br />

da inserire o a livello del ToString() del NetCommand base, o a livello dei<br />

threads Read / Write della classe NetChannel, oppure <strong>di</strong>rettamente sot<strong>to</strong> il<br />

Layer NET.<br />

In Figura 3.6 è illustrata la struttura della stringa che viene generata <strong>di</strong><br />

default dall’override del ToString().<br />

Figura 3.6: Struttura della stringa dei messaggi implementati dai Commands

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

Saved successfully!

Ooh no, something went wrong!