Xon/Xoff is a protocol for controlling the flow of data between computers (DCE) and other devices (DTE) on an asynchronous serial connection. For example, a computer typically sends data to a printer faster than the printer can print. The printer contains a buffer where data is stored until the printer catches up with the computer. If the buffer becomes full before the printer catches up, a small microprocessor in the printer sends back an Xoff signal to stop sending data. When enough data is printed and buffer storage becomes free, the printer sends an Xon signal telling the computer to resume sending data. The “X” stands for “transmitter” so the Xon and Xoff are signals to turn a transmitter on or off. The actual signal for Xon is the same bit configuration as the ASCII Ctrl-Q keyboard combination. The Xoff signal is the Ctrl-S character. The normal technology of the day was serial communications through a 25 pin connector. The minimum needed for normal data communication and handshake was pin 2 to pin 3 of the opposite connector, pin 3 to pin 2 of the opposite connector, pin 7 to pin 7 and pin 20 to pin 20. Pins 2 and 3 were send and receive data, pin 7 was signal ground and pin 20 was handshake. Xon/Xoff being in the data flow, did not require pin 20. It was, as were all serial communications of the time, often misunderstood in testing for the characters. Often it was combined with other handshakes for better detection. When you define your modem to your computer's operating system, you may need to specify the use of flow control with Xon/Xoff or with CTS/RTS (Clear to Send/Ready to Send) or both. When sending binary data, Xon/Xoff may not be recognized because it is character-encoded.