Trabajo en Red

El ejemplo EchoTest utiliza dos veces el m�todo DataInputStream.readLine. Este m�todo ha sido anulado en el JDK 1.1 porque no convierte correctamente los bytes en caracteres. La mayor�a de los programas que utilizan DataInputStream.readLine pueden hacer un cambio sencillo para utilizar el mismo m�todo de la nueva clase BufferedReader. Simplemente reemplaza el c�digo de:

DataInputStream d = new DataInputStream(in);

con este:

BufferedReader d = new BufferedReader(new InputStreamReader(in));

EchoTest es uno de esos programas en los que se puede realizar este sencillo cambio. Aqu� tienes la nueva versi�n de EchoTest:

import java.io.*;
import java.net.*;

public class EchoTest {
    public static void main(String[] args) {
        Socket echoSocket = null;
        DataOutputStream os = null;
        BufferedReader br = null;
	BufferedReader stdIn = new BufferedReader(
		new InputStreamReader(System.in));

        try {
            echoSocket = new Socket("taranis", 7);
            os = new DataOutputStream(echoSocket.getOutputStream());
            br = new BufferedReader(new InputStreamReader(echoSocket.getInputStream()));
        } catch (UnknownHostException e) {
            System.err.println("Don't know about host: taranis");
        } catch (IOException e) {
            System.err.println("Couldn't get I/O for the connection to: taranis");
        }

        if (echoSocket != null && os != null && br != null) {
            try {
                String userInput;

                while ((userInput = stdIn.readLine()) != null) {
                    os.writeBytes(userInput);
                    os.writeByte('\n');
                    System.out.println("echo: " + br.readLine());
                }
                os.close();
                br.close();
                echoSocket.close();
            } catch (IOException e) {
                System.err.println("I/O failed on the connection to: taranis");
            }
        }
    }
}

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP