SOCAT - UDP к клиенту TCP; клиент не подключается, если ничего не отправлять при первом запуске socat

650
TravisWhidden

Работаю на устройстве, которое требует от меня отправки специального широковещательного пакета, чтобы он начал говорить.

Проблема, с которой я столкнулся, заключается в том, что socat не установит соединение, если ему нечего отправить. Есть ли вариант, который я могу использовать, чтобы сказать ему, чтобы подключиться, даже когда нет буфера? Моя текущая команда, с которой я работаю:

socat UDP4-RECVFROM:12345,broadcast,fork,reuseaddr tcp:10.1.1.10:12345,forever,interval=1 

(не стесняйтесь учить меня с моей командой, если это не так, я новичок в socat)

Я вижу, что порт слушает, но соединение не установлено.

enter image description here

Я подтвердил, что могу подключиться к нужному IP / порту и получить требуемое сообщение с помощью этой простой команды тестирования:

socat - tcp:10.1.1.10:12345 

Я также проверил с другим широковещательным портом, который не требует включения связи, и это прекрасно работает. Только этот конкретный порт тихий, пока не произнесено.

Как мы можем настроить socat для подключения при первом выполнении команды оболочки, а не когда доступен первый широковещательный буфер?

0
Я не уверен, что ты пытаешься сделать. Вы хотите * реализовать * свое устройство, "нуждающееся в специальном широковещательном пакете", с помощью `socat`, хотите ли вы * протестировать * или * получить к нему доступ с помощью` socat`, или что-то еще? Ваше устройство находится в `10.1.1.10` или где-то еще? Ваша первая команда `socat` ожидает UDP-пакеты на порту 12345 по локальному адресу (который не является широковещательным адресом, поэтому` broadcast` бесполезен), а затем перенаправляет все эти пакеты в `10.1.1.10` через TCP. Я не могу сопоставить это с описанием вашей проблемы. dirkt 6 лет назад 0

0 ответов на вопрос

Похожие вопросы