Software Handshaking
Software handshakin occurs when one device controls another by the content
of the data. For example, one way to control a printer is by having the computer
send its characters line-by-line. After each line, the computer automatically
puts in a character saying to the printer "This is the end-of-line .. I'm waiting
for your signal to send the next line". The printer accepts the line, prints it,
then sends a character back to the computer, meaning, "I 'm ready for another
line". This is an easy way to control a printer, but not all printers are
able to recognize or respond to such control characters in the data stream.
Hardware Handshaking
With hardware handshaking we are working at a more fundamental
level where a printer can actually force the computer to pause in sending characters
just by changing the voltage on a wire. It solves communication problems
at the most basic hardware/mechanical level - that is, with wires and voltages
instead of with programs and codes. The disadvantage of this kind of handshaking
is that it can be used only where devices can be physically connected through
a cable. This makes it unsuitable for use with modems.