nc
por padrão usa TCP.
O TCP começa com um "tamanho de janela" baixo e ganha velocidade durante uma conexão, pois o tamanho máximo da janela é determinado como maior. Além disso, o TCP envia tráfego extra para manter conexões, ou seja, pacotes ACK. Isso é necessário para apoiar a noção de uma "conexão" e entrega confiável e ordenada.
O UDP não oferece suporte a conexões ou entrega confiável, portanto, nenhuma bagagem extra existe e, portanto, é mais rápida.
Eu não joguei com udpcast
, mas se ele não tiver nenhum mecanismo de detecção de erros, você corre o risco de não ter uma boa cópia do que você transmitiu se a sua rede decidir descartar um pacote.
nc
tem uma opção -u
IIRC para enviar / receber usando UDP em vez de TCP.