Non blocking server receive and send.

Instead of continue to receive and send for one socket, the server skips if errno == EAGAIN, which is what you get from non-blocking recv/send when the socket is not ready.
This way not only allows the socket to be ready when the server goes through all socket, but also allow more concurrency because the potential time wasted on waiting could be used for checking other sockets.
There is a minor bug in the client timing. When running ./client localhost portnumber 100 10, the average time seems really big. Possibly overflow or negative number on the time calculated. I'll fix this bug soon. Otherwise the server/client should work just fine.