nc (netcat) hangs, waiting for more data, in UDP mode.
Solution 1:
I ended up fixing the problem by switching to socat
:
while read line; do
printf "folder.counter:value|1c" | socat -t 0 - UDP:$host:$port
done
Solution 2:
You can specify 0 as a timeout value to -w, so it won't wait at all.
Solution 3:
I had same issue; solved it using the -c
option:
-c, --close close connection on EOF from stdin
so something like
while read line; do
printf "folder.counter:value|1c" | nc -cu $host $port
done
Yeah, does not really make sense to "close" a udp-connection - but that ended up working.
Solution 4:
adding -v option solved my issue. The reason I am not sure.