
En mi máquina Linux, recibo paquetes UDP de otra máquina. Cuando recibo los paquetes UDP, aparece el mensaje.
"Listening on UDP port : 8999"
Esto se activa mediante la siguiente parte del comando de un código que escucha en ese puerto específico.
GET_PORT((&(paraThread->destHost)), tmpPort);
fprintf(stderr, "Listening on UDP port : %d\n", ntohs(tmpPort));
Lo que necesito es que tan pronto como reciba cada paquete UDP, deba enviar un paquete UDP de respuesta de, digamos, 400 bytes a la dirección IP de la que recibí el paquete UDP. ¿Cómo puedo lograr eso?
Respuesta1
Puede enviar cat
400 bytes al host remoto cuando reciba el mensaje:
cat 400bytes.txt >/dev/udp/remotehost/8000
Como se explicaaquí. Por supuesto, hay muchas otras opciones disponibles.
Para generar 400 bytes aleatorios para ese dispositivo, use dd
:
dd if=/dev/urandom bs=1 count=400 of=/dev/udp/remotehost/8000