| Proyecto Integral de Ingeniería del Software | |
|---|---|
| Metodologías Ágiles |
| Trabajo Fin De Grado | |
|---|---|
| Guía Memoria TFG |
| Servidores | |
|---|---|
| Minercraft | |
| Knoppia | |
| Omegacraft |
| 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 |
| Servidores | |
|---|---|
| Minercraft | |
| Knoppia | |
| Omegacraft |
| Base de datos de juegos | |
|---|---|
| GameBoy Advance (GBA) |
¡Esta es una revisión vieja del documento!
Queremos crear un server que cuando reciba conexión de un cliente cree un hilo y lo lance hasta que reciba la cadena salir:
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.");
}
}
}
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();
}
}