加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell – nc(netcat)在UDP模式下挂起,等待更多数据.

发布时间:2020-12-15 18:39:42 所属栏目:安全 来源:网络整理
导读:我正在尝试通过读取块内部的nc向statsd发送一个小字符串: while read line; do printf "folder.counter:value|1c" | nc -q 0 -u $host $portdone 不幸的是,当处于UDP模式时,nc似乎想要无限期地等待,即使我已经指定了-q 0,该手册页所说的将使程序在EOF之后立
我正在尝试通过读取块内部的nc向statsd发送一个小字符串:
while read line; do
    printf "folder.counter:value|1c" | nc -q 0 -u $host $port
done

不幸的是,当处于UDP模式时,nc似乎想要无限期地等待,即使我已经指定了-q 0,该手册页所说的将使程序在EOF之后立即退出.

我试过传递-w 1,但是如果我发送的数据每秒输入的行数超过一行,那么数据就会缓慢增加,我会失去实时统计数据(更不用说冒着某种缓冲区溢出的风险) ).

是否有可能做我正在尝试用netcat做的事情,或者我是否需要用具有statsd库的语言编写一些东西?

我最终通过切换到socat修复了这个问题:
while read line; do
    printf "folder.counter:value|1c" | socat -t 0 - UDP:$host:$port
done

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读