I’ve concluded that using DataInputStream vs. BufferedReader makes no difference.
What DOES make a difference is the case of the “C” in Command (vs. command).
Specifically, if after a restart of my EZSrve, I send:
it works every time.
If, after a restart, I send:
It will fail every time.
I even sent the upper-case Command two more times (total of three) after a restart, and I get no reponse. Then sent the lower-case command once, and it worked. Then sent the upper-case Command again, and it worked.