Отправка UDP-пакетов в пункт назначения

Отправка UDP-пакетов в пункт назначения

На моей машине Linux я получаю пакеты UDP с другой машины. Когда я получаю пакеты UDP, я получаю сообщение

"Listening on UDP port : 8999"

Это запускается следующей частью команды кода, которая прослушивает этот конкретный порт.

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

Мне нужно, чтобы как только я получаю каждый пакет UDP, мне нужно было отправить ответный пакет UDP, скажем, 400 байт, на IP-адрес, с которого я получил пакет UDP. Как мне это сделать?

решение1

catПри получении сообщения вы можете отправить 400 байт на удаленный хост:

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

Как было объясненоздесь. Конечно, доступны и многие другие варианты.

Чтобы сгенерировать 400 случайных байтов на этом устройстве, используйте dd:

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

Связанный контент