Como o skype envia arquivos diretamente? [fechadas]

3

Eu estou querendo saber como o Skype pode enviar arquivos diretamente para usuários que geralmente estão atrás de um firewall? Como isso funciona, pois eu preciso desenvolver algo semelhante, onde um servidor web local (por trás de um firewall) precisa ser capaz de enviar / transmitir arquivos diretamente para outro idêntico?

Eu entendo que precisa haver algum tipo de servidor central publicamente acessível através do qual ambos se descobrem, e eu planejo ter um, mas como a conexão direta acontece depois disso?

Obrigado

    
por Rok 02.08.2012 / 14:30

1 resposta

9

O Skype não depende de um servidor para enviar arquivos per se . O Skype usa uma técnica chamada perfuração em> para permitir a comunicação por trás de dois firewalls restritivos. Em essência, ele abrirá um canal de comunicação, "abrindo um buraco" através do firewall local, que o outro cliente do Skype pode usar para transferir dados.

A comunicação do Skype é quase inteiramente baseada em peer-to-peer, portanto, nenhum servidor centralizado é necessário para a transferência de dados real. No entanto, ele precisa de um supernode para fazer a comunicação inicial.

A NAT router therefore keeps tables of which internal computer has communicated with which external computer and which ports the two have used. The trick used by VoIP software consists of persuading the firewall that a connection has been established, to which it should allocate subsequent incoming data packets.

Então, basicamente, a comunicação é assim:

    
por 02.08.2012 / 14:54