Você não pode simplesmente forçar um programa a usar o UDP em vez do TCP, sem reescrever partes do próprio programa. Esses protocolos são muito diferentes para serem intercambiáveis.
-
O TCP é orientado por fluxo (o receptor vê tudo como um fluxo na ordem exata em que o remetente o envia); UDP é orientado por datagrama (cada datagrama é enviado em um pacote separado e eles podem até ser reordenados).
-
O TCP tem controle de fluxo, portanto, o remetente (ou o sistema operacional do remetente) sabe exatamente quão rápido ele deve enviar dados sem transbordar o link ou afetando significativamente outras conexões. UDP não faz nada disso - um programa mal "forçado" pode começar a enviar gigabytes de dados por segundo sobre UDP, independentemente da velocidade do link
- O TCP tem retransmissão, portanto, se um pacote for descartado no meio (por exemplo, porque a rede está sobrecarregada ou tem outros problemas) será reenviar. Se o protocolo depender de um transporte confiável e você forçar para passar por cima do UDP, a conexão pode morrer completamente assim que menos um único pacote se perde. (E os pacotes se perderão; veja pontos # 1 e # 2 acima.)
Espero que isso ajude!