That article is wrong, 'if(client)' checks the client port is not zero. As the example has not used client, it will always be zero.
I would simply remove the whole loop.
For the best Ethernet experience, I put a long delay before calling begin, DHCP was almost instant, whereas without a delay could take ages.