Initial commit
[multiplex:multiplex.git] / README
1 Overview
2 --------
3
4 "multiplex" is a minimalistic tool that reads continuous stream of
5 data from its standard input and multiplexes it to all the currently
6 connected TCP clients. It's intended to be a companion to "socat" and
7 "netcat".
8
9 It tries to read a chunk of up to 8192 bytes of input data every time
10 anything is available, and writes the same buffer to all the clients
11 in non-blocking mode. If output buffers are too small or the link is
12 too slow, the corresponding client is dropped immediately, no
13 additional buffering is performed. Clients can connect and disconnect
14 any time and start receiving as soon as new data is available.
15
16
17 Usage
18 -----
19 $ multiplex <port>
20 Read continious stream of data from standard input and multiplex it
21 to all the connected TCP clients.
22
23 <port> is the TCP port number to listen on
24
25 Example reading from a file:
26
27 $ tail -F tracelog.bin | multiplex 7777
28
29 Example reading from a named pipe:
30
31 $ ( while true; do cat tracepipe.bin; done ) | multiplex 7777
32
33 Copyright (C) 2015  Paul Fertser <fercerpav@gmail.com>, distributed under GPLv3+ conditions