Enviando pacotes UDP para um destino

Enviando pacotes UDP para um destino

Na minha máquina Linux, estou recebendo pacotes UDP de outra máquina. Quando recebo os pacotes UDP, recebo a mensagem

"Listening on UDP port : 8999"

Isso é acionado pela seguinte parte de comando de um código que escuta nessa porta específica.

GET_PORT((&(paraThread->destHost)), tmpPort);
fprintf(stderr, "Listening on UDP port : %d\n", ntohs(tmpPort));

O que eu preciso é que, assim que receber cada pacote UDP, eu precise enviar um pacote UDP de resposta de, digamos, 400 bytes para o endereço IP do qual recebi o pacote UDP. Como posso conseguir isso?

Responder1

Você pode catenviar 400 bytes para o host remoto ao receber a mensagem:

cat 400bytes.txt >/dev/udp/remotehost/8000

Como explicadoaqui. Muitas outras opções estão disponíveis, é claro.

Para gerar 400 bytes aleatórios para esse dispositivo, use dd:

dd if=/dev/urandom bs=1 count=400 of=/dev/udp/remotehost/8000

informação relacionada