
На моей машине 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