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 contínuo na ordem exata em que o emissor o envia); O UDP é orientado por datagrama (cada datagrama é enviado em um pacote separado e pode até ser reordenado).
-
O TCP tem controle de fluxo, portanto, o remetente (ou o sistema operacional do remetente) sabe exatamente o quão rápido deve enviar dados sem ultrapassar o link ou afetar significativamente outras conexões. O UDP não faz nada disso - um programa mal "forçado" pode começar a enviar gigabytes de dados por segundo sobre o 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), ele será reenviado. Se o protocolo depender de um transporte confiável e você forçá-lo a passar pelo UDP, a conexão pode morrer completamente assim que pelo menos um único pacote for perdido. (E os pacotes serão perdidos; veja os pontos # 1 e # 2 acima.)