When using tcpReply (), more than 512 bytes can not be received.

#include <EtherCard.h>

...

byte Ethernet::buffer[700];

void loop()

....

const char* reply = ether.tcpReply(session);
if (reply != 0) {
Serial.println(reply);
}

.....
}

I use the above routine. Only 512 bytes are received. I need a maximum of 560 bytes. What should I do?

What should I do?

Two possibilities.

  1. Get realistic. You have a certain amount of memory available. You can't use more than that.

  2. Look at the source code, to see where the 512 byte limitation comes from. A TCP packet size is 512 bytes. Coincidence? Probably not.