На моем компьютере с 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-пакет. Как я могу этого добиться?
Вы можете cat
400 байт на удаленный хост, когда вы получаете сообщение:
cat 400bytes.txt >/dev/udp/remotehost/8000
Как объяснено здесь. Конечно, доступны многие другие варианты.
Чтобы сгенерировать 400 случайных байтов для этого устройства, используйте dd
:
dd if=/dev/urandom bs=1 count=400 of=/dev/udp/remotehost/8000