!752 p-substance { final JTextField tf1 = jTextField("localhost"); final JTextField tf2 = jTextField("4999"); showForm( "Host", tf1, "Port", tf2, r-thread { connect(getTextTrim(tf1), parseInt(getTextTrim(tf2))); }); } svoid connect(S host, int port) { print("Connecting to " + host + ":" + port + "..."); final DialogIO io = talkTo(host, port); // output thread { S line; while ((line = readLine()) != null) io.sendLine(line); } // input while (io.isStillConnected()) { if (io.waitForLine()) { S line = io.readLineNoBlock(); print("> " + line); } } print(); print("[logout]"); }