
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 cat
enviar 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