Tried reading from /dev/zero instead of /dev/urandom. A lot faster, indeed
Almost there...

Having problems with buffers making the flow hang.
Will try to rewrite this from scratch, once again.
Think I'll not bother with UDP this time, and just use TCP.