Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Stream a continuously growing file over tcp/ip

I have a project I'm working on, where a piece of Hardware is producing output that is continuously being written into a textfile. What I need to do is to stream that file as it's being written over a simple tcp/ip connection.

I'm currently trying to that through simple netcat, but netcat only sends the part of the file that is written at the time of execution. It doesn't continue to send the rest.

Right now I have a server listening to netcat on port 9000 (simply for test-purposes):

netcat -l 9000

And the send command is:

netcat localhost 9000 < c:\OUTPUTFILE

So in my understanding netcat should actually be streaming the file, but it simply stops once everything that existed at the beginning of the execution has been sent. It doesn't kill the connection, but simply stops sending new data.

How do I get it to stream the data continuously?

like image 964
Grinner Avatar asked Jun 03 '10 16:06

Grinner


2 Answers

Try:

netcat localhost 9000 < tail -f /path/to/file
like image 66
Freiheit Avatar answered Sep 23 '22 01:09

Freiheit


try:

tail /var/log/mail.log -f | nc -C xxx.xxx.xxx.xxx 9000
like image 32
Alexander Avatar answered Sep 20 '22 01:09

Alexander