Transferência de arquivos via Socket ou DatagramPacket

3 respostas
squall926

Ola!!!
Como poderia fazer pra enviar um arquivo vai Socket ou DatagramPacket, de forma a usar a velocidade da rede(100Mb) ou perto disso, tentei usar um loop enviando byte por byte e Socket, mas ficou lento. Seré que com DatagramPacket fica mas rapido?
não postei o codigo por não esta com ele agora em mãos, mas tarde coloco ele aki!!
Grato pela antenção!!!

3 Respostas

L

tenta bufferizar…

T

a) Não se faz as coisas byte por byte, é igual a usar um conta-gotas para apagar um incêndio.
b) Se você usar um DatagramPacket você vai ter de se virar para retransmitir pacotes que não chegaram (ou porque o cliente não conseguiu processá-los a tempo, ou porque o servidor não conseguiu enviá-los). Isso pode ser difícil de controlar.
c) Socket não é tão lento assim - o que você acha que o BitTorrent e o Emule usam?

J

Boa Noite para todos.

Olá thingol, você mencionou o seguinte:

“b) Se você usar um DatagramPacket você vai ter de se virar para retransmitir pacotes que não chegaram (ou porque o cliente não conseguiu processá-los a tempo, ou porque o servidor não conseguiu enviá-los). Isso pode ser difícil de controlar.”

Gostaria de saber se você ou algum outro participante desse fórum conhece um modo de fazer isso, pois é exatamente o que preciso para concluir um trabalho da faculdade mas não estou conseguindo fazer. Trata-se de implementar uma aplicação que utiliza UDP (DatagramSocket) para enviar os dados de um cliente para um servidor (e vice-versa), mas que também faça o papel do TCP (na camada de aplicação e não na camada de transporte).Ou seja, o programa tem que assumir o papel da camada de transporte e fazer todo o controle que a camada de transporte faria se fosse estabelecida uma conexão TCP.

Desde já agradeço.

Criado 3 de junho de 2007
Ultima resposta 13 de jul. de 2009
Respostas 3
Participantes 4