FileCarpenter
Como funciona a transferência de arquivos entre navegadores
Dois navegadores podem mover bytes de um arquivo durante uma sessão ao vivo sem primeiro armazenar o arquivo inteiro como objeto para download na nuvem. No WebRTC, sinalização, DataChannel e TURN têm funções diferentes.
A sinalização apresenta os dois navegadores
Antes de existir uma conexão WebRTC, os navegadores trocam descrições de conexão e candidatos de rede por um pequeno serviço de sinalização. Ele coordena o encontro; não precisa receber o conteúdo do arquivo escolhido.
O DataChannel transporta o arquivo
Depois da conexão, o remetente lê o arquivo em blocos e os escreve em um WebRTC DataChannel ordenado. O receptor reconstrói esses blocos ou os grava em fluxo no armazenamento local, conforme as capacidades do navegador.
TURN é um relé, não armazenamento em nuvem
Algumas redes não permitem uma rota direta. Um servidor TURN pode retransmitir o tráfego WebRTC criptografado durante a conexão ativa para manter a sessão funcionando. Ele encaminha pacotes; não cria um link de download persistente.
A contrapartida é a disponibilidade simultânea
Os dois dispositivos precisam permanecer online e as abas abertas até o fim da transferência. Se remetente e destinatário não puderem estar online ao mesmo tempo, um link de armazenamento em nuvem pode ser mais apropriado.