#multicast #socat
#многоадресная рассылка #socat
Вопрос:
Я пытаюсь скопировать / ретранслировать входящий канал многоадресной рассылки с одного адреса на другой, поэтому я решил, что socat позволит мне это сделать.
Если у меня уже есть что-то, подключенное к этой сети и входящее в консоль:
./socat UDP4-RECVFROM:14314,reuseaddr - | ./socat - udp-sendto:239.160.2.13:14314
или если я этого не сделаю:
./socat UDP4-RECVFROM:14314,ip-add-membership=233.158.8.5:0.0.0.0 - | ./socat - udp-sendto:239.160.2.13:14314
Но они завершаются после первого пакета или около того, поэтому я решил, что добавление fork
поможет, но, похоже, это просто создает другого издателя для каждого полученного пакета, поэтому было массовое эхо.
Пожалуйста, есть какие-нибудь предложения о том, как это исправить? Я пробовал использовать чит-лист dest-unreach, но, похоже, там ничего не соответствует моим точным потребностям. Вероятно, я упускаю что-то действительно очевидное.
Комментарии:
1. Не уверен, что я это понимаю, и не могу проверить, но я думаю, что вам нужен только один экземпляр
socat
, а не 2, соединенных каналом. Больше похожеsocat recvfrom:... sendto:...
2. кажется, мое эхо было вызвано тем, что я переиздавал на тот же порт, что и прием. Кажется, что каждый разветвленный socat пересылает одно сообщение, а затем умирает, и, похоже, все в порядке. команда, на которую я, наконец, пошел, была
./socat UDP4-RECVFROM:14314,reuseaddr,fork udp-sendto:239.160.2.13:14315