Knoppia

Wiki de Informática y otras historias

Herramientas de usuario

Herramientas del sitio


dad:sockets-3

¡Esta es una revisión vieja del documento!


Sockets en java III

Queremos crear un server que cuando reciba conexión de un cliente cree un hilo y lo lance hasta que reciba la cadena salir:

Clase SimpleThread

package sockets2LaPelicula;

public class SimpleThread extends Thread{
	public static final int FOR_EVER = -1;//Constante
	protected long delay;//variable
	protected int times;//Variable
	public SimpleThread (long delay, int times) {
		System.out.println("Constructor SimpleThread");
		this.delay = delay;
		this.times = times;
	}
	public void run() {
		try {
			for(int aux = times; (times>=0)||(aux == FOR_EVER); times--) {
				System.out.println("Mi Delay es:"+delay);
				sleep(delay);
			}
		}catch(Exception e) {
			System.out.println("Error.");
		}
	}
	
	
}

Clase Servidor

package sockets2LaPelicula;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

import sockets2LaPelicula.Cliente2;

public class Servidor2 {
	public static int PUERTO = 5000;//Indicamos el puerto del servidor
	public void ejecutarHastaCadenaSalir() {//Se ejecuta hasta recibir cadena salir
		try {
			
		
		System.out.println("Lanzando Servidor...");
		ServerSocket serverSocket = new ServerSocket(Servidor2.PUERTO);
		Socket socket = serverSocket.accept();
		
		BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));//Buffer entrada
		PrintWriter pw = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));//Buffer salida
		
		String cadenaRecibida = "";
		while(!(cadenaRecibida = br.readLine()).equalsIgnoreCase("Salir")) {//Mientras no se reciba salir ejecuta esto
			pw.println(cadenaRecibida);
			System.out.println("No se ha enviado salir");
			initialize();
			pw.flush();
		}
		System.out.println("Cerrando servidor.....");
	
	
		}catch(IOException e){
			e.printStackTrace();
		}
	}
	
	
	
	
	public static void main(String[] args) {
		Servidor2 server = new Servidor2();
		server.ejecutarHastaCadenaSalir();
	}
}
dad/sockets-3.1697455328.txt.gz · Última modificación: 2023/10/16 11:22 por thejuanvisu