我正在尝试在读取块内通过nc向statsd发送一个小字符串:
while read line; do
printf "folder.counter:value|1c" | nc -q 0 -u $host $port
done
不幸的是,在UDP模式下,即使我已指定nc,nc似乎也希望无限期等待-q 0
,该手册页上的内容将使程序在EOF之后立即退出。
我尝试过传递-w 1
,但是如果我发送的数据每秒以多于一行的速度输入,则数据会缓冲起来,并且我会丢失实时统计信息(更不用说冒着某种类型的缓冲区溢出的风险了)。
是否可以使用netcat进行我想做的事情,还是我需要用具有statsd库的语言编写某些内容?
尽管它不能解决您的问题,但添加-q 0解决了我的问题
—
Colin 16'4
现在这是在TCP模式下发生的,这就是我来到这里的原因。
—
baitisj