I'm going through the thought process for a new project which would require the Ethernet shield.
Sadly, I don't have one with which to test, and can't find any statistics on it, so I was hoping y'all could help: What is the maximum expected sustained rate for reading from a single Socket connection?
Specifically, assuming no processing of the data on the part of the arduino; just reading the data from the ethernet shield as rapidly as possible.
I suspect there's an absolute upper bound of 1MB/sec, but I need to know what the actual reasonable value is for sustained reading.
For anyone that would find this useful, the highest I've gotten it as far as sending data is ~5kilobytes/second. Past that and painfully long slow downs occur.
I have just started playing with my Ethernet shield, and I wrote an RSS feed reader for Slashdot. Turns out I can achieve only 4.70 KB/s according to my code. I dug into the Ethernet library a little, and it appears that every time there is data to read (at least in this experience) there are 1024 bytes from available(), yet the library only allows you to read 1 byte at time... I'm thinking that there should be a way to grab more than just one byte at a time, and that should improve the performance...
I looked at the Ethernet2 library, but haven't tried it yet, though it also presents the same 1 byte at a time interface.
I will have to play with that a bit and see if I can pull the pointer out of the depths of that library, and maybe just work with that directly. Has anyone ever tried something like that before?