Implementei um programa de transferência de arquivos na plataforma Windows de 64 bits usando a API winsock. Eu estou usando uma conexão de 1 Gbps.
- Quando transfiro arquivos usando o protocolo TCP, estou obtendo apenas 320 Mbps. quando monitoro o Gerenciador de Tarefas, ele mostra cerca de 35% da utilização da rede. Eu não deveria estar obtendo uma taxa de transferência melhor que essa?
- Quando transfiro arquivos usando o UDP, a conexão de rede parece estar perdida. Eu tentei usar o comando ping para verificar e descobri que só sou capaz de ping para o endereço de loopback e não para qualquer outra coisa. Eu não tenho idéia do porque isso acontece. Eu sei UDP não é amigável TCP e não tem controle de congestionamento ou controle de fluxo, mas eu não acho que isso pode afetar todas as outras conexões tão drasticamente.
Eu procurei muito por opções de ajuste, mas nada parece funcionar para mim. Alguém poderia encontrar o problema que está me impedindo de atingir o máximo rendimento, e porque eu perco a conexão no momento em que eu corro o programa emissor UDP?