To recap: io-cat is a utility extending cat functionality towards merging live streams. io-cat semantics is the same as cat on files, but it can merge streams, too, e.g. merge three streams:
It supports a couple of simple merge policies: first come first serve by default, or round robin: e.g. try:
Now, io-cat also can wait for publishing servers to start, using io-cat --connect-attempts option, e.g:
See io-cat --help for more configuration options.
Last but not least, broadly, the right approach to persistent clients would be using a publish/subscribe middleware, of your liking. ZeroMQ is a light-weight choice (and comma zero-cat supports a core subset of it). However, if you just want to quickly cobble together simple merging of multiple streams, potentially from heterogeneous sources, io-cat is there for you.