public void handleLMSLC() throws IOException {
            int[] triple = new int[3];
            if (!readTriple(triple)) {
                return;
            }

            // SLC will be initiated by the client
            // case 1. client requests set
            // LINEMODE SLC 0 SLC_DEFAULT 0
            if ((triple[0] == 0) && (triple[1] == LM_SLC_DEFAULT) && (triple[2] == 0)) {
                skipToSE();
                // reply with SLC xxx SLC_DEFAULT 0
                rawWrite(IAC);
                rawWrite(SB);
                rawWrite(LINEMODE);
                rawWrite(LM_SLC);
                // triples defaults for all
                for (int i = 1; i < 12; i++) {
                    rawWrite(i);
                    rawWrite(LM_SLC_DEFAULT);
                    rawWrite(0);
                }
                rawWrite(IAC);
                rawWrite(SE);
                flush();
            } else {

                // case 2: just acknowledge anything we get from the client
                rawWrite(IAC);
                rawWrite(SB);
                rawWrite(LINEMODE);
                rawWrite(LM_SLC);
                rawWrite(triple[0]);
                rawWrite(triple[1] | LM_SLC_ACK);
                rawWrite(triple[2]);
                while (readTriple(triple)) {
                    rawWrite(triple[0]);
                    rawWrite(triple[1] | LM_SLC_ACK);
                    rawWrite(triple[2]);
                }
                rawWrite(IAC);
                rawWrite(SE);
                flush();
            }
        }// handleLMSLC