6

私が取り組んでいるプロジェクトがあります。このプロジェクトでは、ハードウェアの一部が、テキストファイルに継続的に書き込まれている出力を生成しています。私がする必要があるのは、単純なtcp / ip接続を介して書き込まれているときに、そのファイルをストリーミングすることです。

私は現在、単純なnetcatを介してそれを試みていますが、netcatは、実行時に書き込まれたファイルの一部のみを送信します。残りを送信し続けることはありません。

現在、ポート9000でnetcatをリッスンしているサーバーがあります(単にテスト目的で):

netcat -l 9000

そして、sendコマンドは次のとおりです。

netcat localhost 9000 < c:\OUTPUTFILE

したがって、私の理解では、netcatは実際にファイルをストリーミングしているはずですが、実行の開始時に存在していたすべてのものが送信されると、単に停止します。接続を切断するのではなく、単に新しいデータの送信を停止します。

データを継続的にストリーミングするにはどうすればよいですか?

4

3 に答える 3

8

試す:

netcat localhost 9000 < tail -f /path/to/file
于 2010-06-03T16:09:27.633 に答える
1

試す:

tail /var/log/mail.log -f | nc -C xxx.xxx.xxx.xxx 9000
于 2018-10-17T05:06:35.887 に答える
-1

ncを試してください:

# tail for get last text from file, then find the lines that has TEXT and then stream
# see documentation for nc, -l means create server, -k means not close when client disconnect, waits for anothers clients
tail -f  /output.log | grep "TEXT" | nc -l -k 2000
于 2020-09-23T20:07:02.767 に答える