I am having trouble trying to work around this issue. What I'm trying to do is have the Arduino listen on a TCP port and when it receives a TCP connection, dump a string, then disconnect. I don't need any client data. However, I haven't figured a way to avoid this. If I make a connection, the Arduino will sit there until it gets data from the client, then it will print the string and disconnect. I have tried many different ways, but I can't figure out how to do this.
Currently I am handling it this way:
On further looking it appears that server.write(buffer, size) does almost exactly that except it doesn't close the client. If your client will close the connection after it receives the text you can use server.write(). Not sure how long to wait between calls to .write() to give the client a chance to close the connection before it gets the string again.
Thanks for your detailed analysis of the information. I was actually able to remove the check for available client in the EthernetServer.cpp file. Doesn't seem to cause any problems in this case. Probably not the best way to go. I am a little confused on how to implement the sendAll function you described.