-
package com.compunauta.aprendiendojava;
-
import java.io.*;
-
import java.net.*;
-
/**
-
* <p>Título: Aprendiendo Java</p>
-
* <p>Descripción: Ejemplos del Libro Aprendiendo Java de Compunauta</p>
-
* <p>Copyright: Copyright (c) 2006 www.compunauta.com</p>
-
* <p>Empresa: COMPUNAUTA</p>
-
* @author Gustavo Guillermo Pérez
-
* @version 2006.01.01
-
*/
-
-
public class Cap3_lifo_bib {
-
//Declaramos unas variables globales a este tipo de datos
-
public static int PORT=4567;
-
public static String HOST="127.0.0.1";
-
-
public static void main(String[] args) {
-
System.err.println("Intentando conectar con la asistente");
-
Socket skt=(Socket)null;
-
try {skt = new Socket(HOST, PORT);}
-
catch (Exception ex) {
-
System.err.println("La asistente no está en línea");
-
System.exit(-1);
-
}
-
-
String titulo;
-
BufferedReader teclado=new BufferedReader(new InputStreamReader(System.in));
-
try {
-
PrintWriter datos = new PrintWriter(skt.getOutputStream());
-
System.err.println("Nos conectamos con la asistente:"+HOST+":"+PORT);
-
System.err.println("Ingrese Títulos (línea vacía termina)");
-
while (true){
-
if((titulo=leerLinea(teclado)).length()==0){
-
System.err.println("Programa terminado");
-
datos.println("fin");
-
datos.flush();
-
datos.close();
-
skt.close();
-
System.exit(0);
-
}else{
-
datos.println(titulo);
-
datos.flush();
-
}
-
}//fin de la lectura eterna
-
}catch (IOException ex1) {ex1.printStackTrace(System.err);}
-
-
}//fin del método principal
-
-
//Funciones o métodos auxiliares
-
public static String leerLinea(BufferedReader buff){
-
try {return buff.readLine();}
-
catch (Exception ex){ex.printStackTrace(System.err);}
-
return "";
-
}//final de la función leer
-
-
}//final de la clase
Esta implementación es idéntica a la de la secretaria del ejemplo anterior, solo que para variar utilizamos otro tipo de Objeto para el flujo de datos.