implement the client using boost::asio
stop using urandom to generate random data
make things quieter
make things better
.