通过tcp/ip流式传输不断增长的文件

Gri*_*ner 4 file stream continuous netcat

我有一个我正在研究的项目,其中一个硬件产生的输出不断被写入文本文件.我需要做的是在通过简单的tcp/ip连接写入文件时传输该文件.

我目前正在尝试通过简单的netcat,但netcat只发送执行时写入的文件部分.它不会继续发送其余的.

现在我有一个服务器在端口9000上监听netcat(仅用于测试目的):

netcat -l 9000
Run Code Online (Sandbox Code Playgroud)

send命令是:

netcat localhost 9000 < c:\OUTPUTFILE
Run Code Online (Sandbox Code Playgroud)

所以在我的理解中,netcat实际上应该是流式传输文件,但只要在执行开始时存在的所有内容都已发送,它就会停止.它不会终止连接,只是停止发送新数据.

如何让它连续流式传输数据?

Fre*_*eit 7

尝试:

netcat localhost 9000 < tail -f /path/to/file
Run Code Online (Sandbox Code Playgroud)

  • 曾经有一个智者说过,使用 -F 而不是 -f,因为它会添加额外的选项来重试,以防服务重新启动或生成新日志! (3认同)
  • 是的,就这样做到了。我在 win 2003 资源工具包中找到了 tail。奇迹般有效。我将命令更改为 tail -fc:\out | netcat 本地主机 9000 谢谢! (2认同)