(Ethernet) client.read() is SLOW


my program is downloading huge data from a client of my local network via ethernet. very slowly. Approx. 1-1.5 byte/second.

I'm using these commands:

while(client.connected()){ * while(!client.available()){delay(1);}*

  • file.write(client.read());* }

The client is a android phone, which is connected to router via wifi. The bandwith between the phone and the pcs is excellent, so I think the problem is related to the arduino.

I swapped the file.write() command with c =... to make it overwrite a variable in the ram to see if sd card writing does have an impact. well, this improved reading speed for about 10% only.

And yes, I have Serial.read and Serial.print here and there, but not during client reading and file writing.

Any ideas how I could improve this?

Big thanks

I use this.