Programación en red con sockets
|
Mínimo servidor TCP y mínimo cliente TCP
import java.net.*;
import java.io.*;
public class Servidor
{
public static void main(String a[])
{
ServerSocket serverSocket = null;
Socket socket = null;
String peticion = null;
String respuesta = "Datos incorrectos";
try
{
System.out.println("Escuchando por el puerto 8000");
serverSocket = new ServerSocket(8000);
}
catch(IOException e)
{
System.out.println("java.io.IOException generada");
e.printStackTrace();
}
System.out.println("Esperando a que los clientes se conecten...");
while(true)
{
try
{
socket = serverSocket.accept();
System.out.println("Se conecto un cliente: " + socket.getInetAddress().getHostName());
DataInputStream dis = new DataInputStream( socket.getInputStream() );
peticion = dis.readUTF();
System.out.println("El mensaje que me envio el cliente es: " + peticion);
DataOutputStream dos = new DataOutputStream( socket.getOutputStream() );
if(peticion != null)
respuesta = "Datos correctos";
System.out.println("El mensaje que le envio al cliente es: " + respuesta);
dos.writeUTF(respuesta);
dos.close();
dis.close();
socket = null;
}
catch(IOException e)
{
System.out.println("java.io.IOException generada");
e.printStackTrace();
}
}
}
}
import java.net.*;
import java.io.*;
public class Cliente
{
public static void main(String a[])
{
Socket socket = null;
String peticion = "Mensaje para el servidor";
String respuesta = null;
try
{
System.out.println("Me conecto al puerto 8000 del servidor");
socket = new Socket(a[0],8000);
System.out.println("Le envio mi peticion: " + peticion);
DataOutputStream dos = new DataOutputStream( socket.getOutputStream() );
dos.writeUTF(peticion);
DataInputStream dis = new DataInputStream( socket.getInputStream() );
respuesta = dis.readUTF();
System.out.println("El mensaje que me envio el servidor es: " + respuesta);
dos.close();
dis.close();
socket.close();
}
catch(IOException e)
{
System.out.println("java.io.IOException generada");
e.printStackTrace();
}
}
}
|