package ar.com.javacuriosities.networking.tcp; import java.io.DataInputStream; import java.io.IOException; import java.io.InputStream; import java.net.InetAddress; import java.net.Socket; /* * Este ejemplo lee datos desde el server, otra opción es * enviar datos al server por lo cual en lugar de obtener el InputStream * debemos obtener el OutputStream para escribir en el */ public class Step2ClientSocketTCP { public static void main(String[] args) { try { /* * Intentamos establecer una conexión con el server * Si ejecutamos el cliente antes que el server obtendremos la exception * "java.net.ConnectException: Connection refused" */ Socket socketToConnect = new Socket(InetAddress.getLocalHost(), 4000); // Obtenemos el input stream para leer datos InputStream is = socketToConnect.getInputStream(); DataInputStream dis = new DataInputStream(is); String dataFromServer = new String(dis.readUTF()); System.out.println(dataFromServer); // Luego cerramos los stream y el socket dis.close(); is.close(); socketToConnect.close(); } catch (IOException e) { // Log and Handle exception e.printStackTrace(); } } }