Non-blocking client using poll()