2013-11-10 3 views
1

Простейшим примером может служить следующее:При перенаправлении на/dev/udp, как вы вынуждаете пакет с новыми линиями быть единственным пакетом?

echo -e "\n\n\n" > /dev/udp/192.168.45.45/9875 

Глядя на это с ТСРйитр, это на самом деле отправки 4 пакета. Если мне нужно отправить один пакет, состоящий из шестнадцатеричной (полезной нагрузки) 0a0a0a, возможно ли это с помощью устройства/dev/udp?

ответ

3

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

echo -e "\n\n\n" >/tmp/foo 
cat /tmp/foo > /dev/udp/10.211.55.9/42000 

Проблемы, как представляется, в эхе вместо/разработчика/UDP.

Надеюсь, это поможет. Ханну

+0

Не совсем элегантно, но это помогает. Спасибо за ответ, я даже не подумал проверить это. –

+2

Я думаю, что проблема связана с линейным буфером. – Damon

3

Вы можете устранить окончательный \n с -n вариант:

echo -n -e "\n\n\n" > /dev/udp/192.168.45.45/9875 
+0

Это должен быть правильный ответ. –