client.connect() millis: 2
client.print() millis: 3
client.connect() millis: 2
client.print() millis: 3
client.connect() millis: 2
client.print() millis: 3
client.connect() millis: 6
client.print() millis: 49
client.connect() millis: 1
client.print() millis: 37
client.connect() millis: 1
client.print() millis: 3
client.connect() millis: 2
client.print() millis: 3
client.connect() millis: 2
client.print() millis: 3649
I would need to get more stats to make sure but it looks like the big delays happen exclusively with client.print(). So maybe client.connect() does have a good timeout/re-try but client.print() doesn't. Though that is another assumption which I will have to test.