title: Linux IPC with single writer, multible readers
body: <p>In my application, I have one process <strong>(the "writer") reading data</strong> from external hardware. This process should <strong>supply consistent packets to several "readers"</strong>.</p>
  
  <p><strong>Question:</strong>
  How can one process send consistent data-packets (not blocking) to several clients while they see something like the end of a personal fifo? I'm on Debian Linux.</p>
  
  <p>1) In my first approach I tried "<strong>datagram - unix domain sockets</strong>", which worked well.
  But with the "writer" as server, all the clients have to poll the server permanently. :-(
  They get one packet several times; or miss a packet if not polling fast enough.</p>
  
  <p>2) My second approach was <strong>FIFOs</strong> (<strong>Named Pipes)</strong> which works too, but with several readers "strange things happen", what I got confirmed here: <a href="http://beej.us/guide/bgipc/output/html/multipage/fifos.html" rel="nofollow noreferrer">http://beej.us/guide/bgipc/output/html/multipage/fifos.html</a></p>
  
  <p>I tried this, searched the net and stackoverflow the whole day, but I could not find a reasonable answer.</p>
  
  <p>Edit: Sorry, I did not mention: I can't use <code>socketpair()</code> and <code>fork</code>. My programs are independently developed. I'd like to have the <strong>writer</strong> ready, while developing new readers.</p>