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 75<br />

Figura 3.5: Per inviare <strong>un</strong> comando da gestire a livello NET, da <strong>un</strong> Nodo A<br />

ad <strong>un</strong> Nodo B, viene prima creata <strong>un</strong>’istanza dell’apposita classe ere<strong>di</strong>tata<br />

da NetCommand, ed inizializzata secondo i parametri desiderati; quin<strong>di</strong> serializzata<br />

attraverso l’ovveride del me<strong>to</strong>do ToString() e scritta <strong>su</strong>llo stream<br />

del Link A-B.<br />

Quando il messaggio gi<strong>un</strong>ge a B, viene prima invoca<strong>to</strong> il Processor appartenente<br />

al Layer NET. Se il messaggio deve essere esegui<strong>to</strong> <strong>su</strong>l Layer NET,<br />

allora tale Processor istanzierà au<strong>to</strong>maticamente, grazie alla Reflection, <strong>un</strong><br />

ogget<strong>to</strong> della classe che definisce il comando, e, a seconda dei casi, lo eseguirà<br />

<strong>di</strong>rettamente, chiamando il <strong>su</strong>o me<strong>to</strong>do Exec() o lo inserirà in <strong>un</strong>a coda <strong>di</strong> esecuzione.<br />

Se invece non si tratta <strong>di</strong> <strong>un</strong> messaggio da eseguire <strong>su</strong>l Layer NET,<br />

allora l’INode destinatario chiamerà gli eventuali me<strong>to</strong><strong>di</strong> delegati registrati<br />

al proprio even<strong>to</strong> OnRead, cosicché i Layer <strong>su</strong>periori possano processare il<br />

messaggio allo stesso modo.

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

Saved successfully!

Ooh no, something went wrong!