2015-10-26 71 views
2

我試圖使用netcat來讀取該行以文件每隔幾毫秒,並將其發送到端口..的netcat與毫秒間隔

到目前爲止,我從netcat的文檔知道它可以插入的時間間隔

這是從netcat的幫助手冊:發送的每個線之間發送用於線

-i秒延遲間隔,港口掃描

我嘗試了以下操作,允許我在發送的每行之間至少插入1秒的時間間隔。

nc -q 10 -i 1 -lk 9999 < file_input 

我想知道是否有減少此時間間隔爲毫秒。也許通過使用一些實用程序將文件的輸入管道輸入到netcat中,該實用程序允許以毫秒爲單位配置每次讀取之間的間隔?

回答

4

使用來自GNU coreutils的睡眠允許睡眠幾分之一秒。所以,你可以嘗試:

while read -r line ; do echo "$line"; sleep 0.001; done < "/path/to/file" | nc host port 

在每個循環變量「行」握着你的文件,該文件獲得通過的netcat發送到端口「端口」主機「主機」的一行。發送一行後,代碼等待0.001秒,asf。直到文件中沒有更多數據要發送。

有關睡眠命令等待幾分之一秒的能力的更多信息,請參閱「How do I sleep for a millisecond in bash or ksh」。

+0

安德魯,你說得對。我糾正了答案。 –

+0

感謝這是完美的:) – tsar2512

+0

btw你有什麼想法我也可以跟蹤有多少行被讀取?即,如果我可以同時輸出到netcat和stdout – tsar2512