nonblock client