以毫秒为间隔的 netcat
netcat with milliseconds interval
我正在尝试使用 netcat 每隔几毫秒读取文件中的一行,并将其发送到端口..
到目前为止,我从 netcat 文档中了解到它可以在发送的每一行之间插入一个时间间隔:
这来自netcat帮助手册:
-i
secs Delay interval for lines sent, ports scanned
我尝试了以下方法,它允许我在发送的每行之间插入至少 1 秒的时间间隔。
nc -q 10 -i 1 -lk 9999 < file_input
我想知道有没有办法把这个时间间隔缩短到毫秒。也许通过使用一些实用程序将文件输入管道传输到 netcat,该实用程序允许以毫秒为单位配置每次读取之间的间隔?
使用 GNU coreutils 的睡眠允许睡眠几分之一秒。所以你可以试试:
while read -r line ; do echo "$line"; sleep 0.001; done < "/path/to/file" | nc host port
在每个循环中,变量 "line" 保存文件的一行,它通过 netcat 发送到端口 "port" 上的主机 "host"。发送一行后,代码等待 0.001 秒,asf。直到文件中没有更多数据可发送。
有关睡眠命令等待几分之一秒的能力的更多信息,请参阅“How do I sleep for a millisecond in bash or ksh”。
我正在尝试使用 netcat 每隔几毫秒读取文件中的一行,并将其发送到端口..
到目前为止,我从 netcat 文档中了解到它可以在发送的每一行之间插入一个时间间隔:
这来自netcat帮助手册:
-i
secs Delay interval for lines sent, ports scanned
我尝试了以下方法,它允许我在发送的每行之间插入至少 1 秒的时间间隔。
nc -q 10 -i 1 -lk 9999 < file_input
我想知道有没有办法把这个时间间隔缩短到毫秒。也许通过使用一些实用程序将文件输入管道传输到 netcat,该实用程序允许以毫秒为单位配置每次读取之间的间隔?
使用 GNU coreutils 的睡眠允许睡眠几分之一秒。所以你可以试试:
while read -r line ; do echo "$line"; sleep 0.001; done < "/path/to/file" | nc host port
在每个循环中,变量 "line" 保存文件的一行,它通过 netcat 发送到端口 "port" 上的主机 "host"。发送一行后,代码等待 0.001 秒,asf。直到文件中没有更多数据可发送。
有关睡眠命令等待几分之一秒的能力的更多信息,请参阅“How do I sleep for a millisecond in bash or ksh”。