When I ran the code on my laptop at home, it worked fine. There may be something with the SCCC computer that cause a problem. The switch command for the Processor looks like this: switch (command) { case 'L': //List all items input = br.readLine(); System.out.println(input); while (input != null) { st = new StringTokenizer(input, ","); if ( output.toString().length() > 0 ) { output.append(","); } output.append(st.nextToken()); output.append(","); output.append(st.nextToken()); input = br.readLine(); } break; case 'R': //Read one item long idToGet = 0; input = br.readLine(); while ( output.toString().length() == 0 || input != null ) { idToGet = Long.parseLong( input.substring(0, input.indexOf(","))); if ( id == idToGet ) { output.append(input); } else { input = br.readLine(); } } break; } The client application need to load the Choice: try { s = new Socket("localhost", 1234); reader = new BufferedReader(new InputStreamReader(s.getInputStream())); writer = new BufferedWriter(new OutputStreamWriter(s.getOutputStream())); // This is the command used by the switch statement in the processor writer.write("L0"); writer.newLine(); writer.flush(); String input = reader.readLine(); StringTokenizer st = new StringTokenizer(input, ","); nameList.add("[select a name]"); int size = st.countTokens() / 2; idList = new long[size+1]; for ( int i=1; i<=size; i++ ) { idList[i] = Long.parseLong(st.nextToken()); nameList.add(st.nextToken()); } } When an item is selected in the Choice: get index nbr of Choice item selected get id out of array using index open a socket and pass the instruction: "R" + the id from the array read the detail line tokenize the detail to fill the textfields