Knoppia

Wiki de Informática y otras historias

Herramientas de usuario

Herramientas del sitio


Barra lateral

Base de datos de juegos
GameBoy Advance (GBA)
Proyecto Integral de Ingeniería del Software
Metodologías Ágiles
Trabajo Fin De Grado
Guía Memoria TFG

Colecciones

Otros

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