Clients need to be blocking to avoid overwhelming the network stack