PDA

View Full Version : [Java] Ma se dovessi mai fare un prg in stile Skepe o altro come s'incapsula?


Matrixbob
20-02-2011, 15:44
[Parete 1]
Ma se dovessi mai fare un prg in stile Skype o ungioco o altro come s'incapsula il networking?

http://img225.imageshack.us/img225/2827/immaginesr.png http://img253.imageshack.us/img253/8725/immaginesx.png

Posso sfruttare l'esistenza di altri protocolli sopra il livello TCP/UDP?
http://it.wikipedia.org/wiki/Livello_di_trasporto
http://en.wikipedia.org/wiki/Application_Layer
Chi si occuperà poi della catena di relaitvi incapsulamenti? Il Sistema Operativo?


[Parete 2]
Ad esempi il famoso Skebby (http://www.skebby.it/), voi sapete/intuite come fa per comunicare?

ally
21-02-2011, 10:44
...sospetto sina semplicemente una comunicazione su socket...

clockover
21-02-2011, 10:57
Skype se non mi sbaglio fa parte di un'architettura p2p. Ovviamente utilizza un suo protocollo di comunicazione.

Matrixbob
21-02-2011, 11:02
Skype se non mi sbaglio fa parte di un'architettura p2p. Ovviamente utilizza un suo protocollo di comunicazione.
Diciamo che s'intuisce sia in stile P2P in quanto protocollo proprietario chiuso.
In teoria essendo un programma Delphi Skype ci saranno delle librerie che faranno incapsulare il programma nel protocollo proprietario in modo da far comunicare pari a pari i 2 programmi "nodo/prosumer"? Giusto?
Ma gli incapsulamenti sottostanti trasporto, networking chi se ne occupa? Il SO?

WarDuck
21-02-2011, 14:18
Diciamo che s'intuisce sia in stile P2P in quanto protocollo proprietario chiuso.
In teoria essendo un programma Delphi Skype ci saranno delle librerie che faranno incapsulare il programma nel protocollo proprietario in modo da far comunicare pari a pari i 2 programmi "nodo/prosumer"? Giusto?
Ma gli incapsulamenti sottostanti trasporto, networking chi se ne occupa? Il SO?

Immagino che tu conosca la pila di protocolli TCP/IP.

Gran parte dei linguaggi di programmazione moderni dispone di librerie atte ad astrarre le comunicazioni di rete.

Ovviamente i protocolli più comuni sono implementati nel sistema operativo, e alcune volte direttamente sulla scheda di rete, in hardware dunque.

Skype fa uso del VoIP che di fatto è un protocollo a livello applicativo (cioè è l'applicazione a farsi carico di gestire determinate cose). Per questo genere di applicazioni multimediali si preferisce usare protocolli di base più leggeri, come UDP, che fornisce una comunicazione non affidabile.

Non affidabile nel senso che non è garantito che il destinatario riceverà il pacchetto, e ammesso che lo riceva non è detto che lo riceva nell'ordine previsto dal mittente. Per cui l'applicazione dovrà prevedere questi casi.

A seconda del protocollo scelto quindi il programmatore dovrà o meno preoccuparsi di gestire determinate situazioni.

Chiaramente tutti gli incapsulamenti sottostanti al livello in cui ti sei messo sono a carico del sistema operativo.