On Thu, 6 Jan 2005, Dwight K. Elvey wrote:
In the past when I wanted a non-block binary
transfer,
I often had some value that I used as an escape character.
I'd choose a low frequency value to improve throughput.
It is simple, If you want to send a command value, you
send the escape character, first. If you just wanted the escape
character, you'd send it twice. For 8 bit data, you
had 255 commands. EOF could be one of those.
It makes a simple protocol that is easy to implement in
code.
For MSDOS etc, you have to escape SUB, and NUL. And a bunch of
others. Plus, you might not have an 8-bit channel, only 7. So now
you ahve to escape all those.
A is sent as A
Control-A is sent as &A
A with bit7 set is sent as #A
Control-A with bit7 set is sent as #&A
Wait! That's Kermit!
Machines need to pause for various tasks, like writing to slow
disks. So now you need a way to tell the sender to stop.
Ad nauseum. Hence, communications protocols. The problem is
anything BUT trivial.
But I do agree with you, I'm all in favor if one-off problem
solutions, with the caveat that many tasks expand with time.
To paraphrase the jargon file:
"That's why I love standards, there's so many to choose from!"