Aniadido cifrado
This commit is contained in:
parent
a1e1e6f2fa
commit
7c246a898d
@ -5,5 +5,6 @@
|
|||||||
<classpathentry kind="lib" path="gson-2.8.6-javadoc.jar"/>
|
<classpathentry kind="lib" path="gson-2.8.6-javadoc.jar"/>
|
||||||
<classpathentry kind="lib" path="gson-2.8.6-sources.jar"/>
|
<classpathentry kind="lib" path="gson-2.8.6-sources.jar"/>
|
||||||
<classpathentry kind="lib" path="gson-2.8.6.jar"/>
|
<classpathentry kind="lib" path="gson-2.8.6.jar"/>
|
||||||
|
<classpathentry kind="lib" path="cifrado.jar"/>
|
||||||
<classpathentry kind="output" path="bin"/>
|
<classpathentry kind="output" path="bin"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
BIN
cifrado.jar
Normal file
BIN
cifrado.jar
Normal file
Binary file not shown.
@ -8,6 +8,7 @@ import com.google.gson.Gson;
|
|||||||
|
|
||||||
public class ComunacacionJugador extends Thread{
|
public class ComunacacionJugador extends Thread{
|
||||||
Socket socket;
|
Socket socket;
|
||||||
|
static String pass="soy segura";
|
||||||
public ComunacacionJugador(Socket socket) {
|
public ComunacacionJugador(Socket socket) {
|
||||||
this.socket = socket;
|
this.socket = socket;
|
||||||
this.start();
|
this.start();
|
||||||
@ -18,23 +19,23 @@ public class ComunacacionJugador extends Thread{
|
|||||||
Gson gson = new Gson();
|
Gson gson = new Gson();
|
||||||
BufferedReader bufferEntrada = new BufferedReader(new InputStreamReader(this.socket.getInputStream()));
|
BufferedReader bufferEntrada = new BufferedReader(new InputStreamReader(this.socket.getInputStream()));
|
||||||
PrintWriter bufferSalida = new PrintWriter(new OutputStreamWriter(this.socket.getOutputStream()),true);
|
PrintWriter bufferSalida = new PrintWriter(new OutputStreamWriter(this.socket.getOutputStream()),true);
|
||||||
bufferSalida.println(gson.toJson(Servidor.mostrarSalas()+"fin"));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson(Servidor.mostrarSalas()+"fin"), ComunacacionJugador.pass));
|
||||||
int sala = Integer.parseInt(gson.fromJson(bufferEntrada.readLine(), String.class))-1;
|
int sala = Integer.parseInt(gson.fromJson(Cifrado.desencriptar(bufferEntrada.readLine(), ComunacacionJugador.pass), String.class))-1;
|
||||||
if(Servidor.addJugador(sala, this.socket)) {
|
if(Servidor.addJugador(sala, this.socket)) {
|
||||||
bufferSalida.println(gson.toJson("Has entrado en la sala"));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson("Has entrado en la sala"), ComunacacionJugador.pass));
|
||||||
switch(Servidor.determinarJuego(sala)){
|
switch(Servidor.determinarJuego(sala)){
|
||||||
case Servidor.juego4:
|
case Servidor.juego4:
|
||||||
sala -= Servidor.salas3.size();
|
sala -= Servidor.salas3.size();
|
||||||
bufferSalida.println(gson.toJson("4"));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson("4"), ComunacacionJugador.pass));
|
||||||
partida4(bufferEntrada, bufferSalida, sala);
|
partida4(bufferEntrada, bufferSalida, sala);
|
||||||
break;
|
break;
|
||||||
case Servidor.juego3:
|
case Servidor.juego3:
|
||||||
bufferSalida.println(gson.toJson("3"));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson("3"), ComunacacionJugador.pass));
|
||||||
partida3(bufferEntrada, bufferSalida, sala);
|
partida3(bufferEntrada, bufferSalida, sala);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
bufferSalida.println(gson.toJson("Error al entrar en la sala"));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson("Error al entrar en la sala"), ComunacacionJugador.pass));
|
||||||
socket.close();
|
socket.close();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -50,15 +51,15 @@ public class ComunacacionJugador extends Thread{
|
|||||||
boolean continuar = true;
|
boolean continuar = true;
|
||||||
int jugador = 2;
|
int jugador = 2;
|
||||||
if(Servidor.salas3.get(sala).getJugador1().equals(this.socket)) {
|
if(Servidor.salas3.get(sala).getJugador1().equals(this.socket)) {
|
||||||
bufferSalida.println(gson.toJson("Esperando al segundo jugador"));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson("Esperando al segundo jugador"), ComunacacionJugador.pass));
|
||||||
synchronized (this.socket) {
|
synchronized (this.socket) {
|
||||||
this.socket.wait();
|
this.socket.wait();
|
||||||
}
|
}
|
||||||
jugador = 1;
|
jugador = 1;
|
||||||
bufferSalida.println(gson.toJson("Primero"));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson("Primero"), ComunacacionJugador.pass));
|
||||||
bufferSalida.println(gson.toJson(Servidor.salas3.get(sala).tablero.getTablero()));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson(Servidor.salas3.get(sala).tablero.getTablero()), ComunacacionJugador.pass));
|
||||||
Servidor.salas3.get(sala).tablero.colocarFicha(Integer.parseInt(gson.fromJson(bufferEntrada.readLine(), String.class)),
|
Servidor.salas3.get(sala).tablero.colocarFicha(Integer.parseInt(gson.fromJson(Cifrado.desencriptar(bufferEntrada.readLine(), ComunacacionJugador.pass), String.class)),
|
||||||
Integer.parseInt(gson.fromJson(bufferEntrada.readLine(), String.class)),jugador);
|
Integer.parseInt(gson.fromJson(Cifrado.desencriptar(bufferEntrada.readLine(), ComunacacionJugador.pass), String.class)),jugador);
|
||||||
/*Calculamos el modulo 2 de jugador para que cuando este sea 2 se acceda al socket del primero,
|
/*Calculamos el modulo 2 de jugador para que cuando este sea 2 se acceda al socket del primero,
|
||||||
y viceversa, ya que usamos los sockets como mutex*/
|
y viceversa, ya que usamos los sockets como mutex*/
|
||||||
synchronized (Servidor.salas3.get(sala).jugadores[jugador%2]) {
|
synchronized (Servidor.salas3.get(sala).jugadores[jugador%2]) {
|
||||||
@ -68,8 +69,8 @@ public class ComunacacionJugador extends Thread{
|
|||||||
this.socket.wait();
|
this.socket.wait();
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
bufferSalida.println(gson.toJson("Iniciando partida"));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson("Iniciando partida"), ComunacacionJugador.pass));
|
||||||
bufferSalida.println(gson.toJson("Segundo"));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson("Segundo"), ComunacacionJugador.pass));
|
||||||
synchronized (Servidor.salas3.get(sala).jugadores[jugador%2]) {
|
synchronized (Servidor.salas3.get(sala).jugadores[jugador%2]) {
|
||||||
Servidor.salas3.get(sala).jugadores[jugador%2].notify();
|
Servidor.salas3.get(sala).jugadores[jugador%2].notify();
|
||||||
}
|
}
|
||||||
@ -84,19 +85,19 @@ public class ComunacacionJugador extends Thread{
|
|||||||
if(finalJuego != 0) {
|
if(finalJuego != 0) {
|
||||||
continuar = false;
|
continuar = false;
|
||||||
if(finalJuego == jugador) {
|
if(finalJuego == jugador) {
|
||||||
bufferSalida.println(gson.toJson("v"));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson("v"), ComunacacionJugador.pass));
|
||||||
Servidor.salas3.remove(sala);
|
Servidor.salas3.remove(sala);
|
||||||
}else {
|
}else {
|
||||||
bufferSalida.println(gson.toJson("f"));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson("f"), ComunacacionJugador.pass));
|
||||||
synchronized (Servidor.salas3.get(sala).jugadores[jugador%2]) {
|
synchronized (Servidor.salas3.get(sala).jugadores[jugador%2]) {
|
||||||
Servidor.salas3.get(sala).jugadores[jugador%2].notify();
|
Servidor.salas3.get(sala).jugadores[jugador%2].notify();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}else {
|
}else {
|
||||||
bufferSalida.println(gson.toJson(Servidor.salas3.get(sala).tablero.getTablero()));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson(Servidor.salas3.get(sala).tablero.getTablero()), ComunacacionJugador.pass));
|
||||||
Servidor.salas3.get(sala).tablero.colocarFicha(Integer.parseInt(gson.fromJson(bufferEntrada.readLine(), String.class)),
|
Servidor.salas3.get(sala).tablero.colocarFicha(Integer.parseInt(gson.fromJson(Cifrado.desencriptar(bufferEntrada.readLine(), ComunacacionJugador.pass), String.class)),
|
||||||
Integer.parseInt(bufferEntrada.readLine()),jugador);
|
Integer.parseInt(gson.fromJson(Cifrado.desencriptar(bufferEntrada.readLine(), ComunacacionJugador.pass), String.class)),jugador);
|
||||||
synchronized (Servidor.salas3.get(sala).jugadores[jugador%2]) {
|
synchronized (Servidor.salas3.get(sala).jugadores[jugador%2]) {
|
||||||
Servidor.salas3.get(sala).jugadores[jugador%2].notify();
|
Servidor.salas3.get(sala).jugadores[jugador%2].notify();
|
||||||
}
|
}
|
||||||
@ -114,14 +115,14 @@ public class ComunacacionJugador extends Thread{
|
|||||||
boolean continuar = true;
|
boolean continuar = true;
|
||||||
int jugador = 2;
|
int jugador = 2;
|
||||||
if(Servidor.salas4.get(sala).getJugador1().equals(this.socket)) {
|
if(Servidor.salas4.get(sala).getJugador1().equals(this.socket)) {
|
||||||
bufferSalida.println(gson.toJson("Esperando al segundo jugador"));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson("Esperando al segundo jugador"), ComunacacionJugador.pass));
|
||||||
synchronized (this.socket) {
|
synchronized (this.socket) {
|
||||||
this.socket.wait();
|
this.socket.wait();
|
||||||
}
|
}
|
||||||
jugador = 1;
|
jugador = 1;
|
||||||
bufferSalida.println(gson.toJson("Primero"));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson("Primero"), ComunacacionJugador.pass));
|
||||||
bufferSalida.println(gson.toJson(Servidor.salas4.get(sala).tablero.getTablero()));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson(Servidor.salas4.get(sala).tablero.getTablero()), ComunacacionJugador.pass));
|
||||||
Servidor.salas4.get(sala).tablero.colocarFicha(Integer.parseInt(gson.fromJson(bufferEntrada.readLine(), String.class)),jugador);
|
Servidor.salas4.get(sala).tablero.colocarFicha(Integer.parseInt(gson.fromJson(Cifrado.desencriptar(bufferEntrada.readLine(), ComunacacionJugador.pass), String.class)),jugador);
|
||||||
/*Calculamos el modulo 2 de jugador para que cuando este sea 2 se acceda al socket del primero,
|
/*Calculamos el modulo 2 de jugador para que cuando este sea 2 se acceda al socket del primero,
|
||||||
y viceversa, ya que usamos los sockets como mutex*/
|
y viceversa, ya que usamos los sockets como mutex*/
|
||||||
synchronized (Servidor.salas4.get(sala).jugadores[jugador%2]) {
|
synchronized (Servidor.salas4.get(sala).jugadores[jugador%2]) {
|
||||||
@ -131,8 +132,8 @@ public class ComunacacionJugador extends Thread{
|
|||||||
this.socket.wait();
|
this.socket.wait();
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
bufferSalida.println(gson.toJson("Iniciando partida"));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson("Iniciando partida"), ComunacacionJugador.pass));
|
||||||
bufferSalida.println(gson.toJson("Segundo"));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson("Segundo"), ComunacacionJugador.pass));
|
||||||
synchronized (Servidor.salas4.get(sala).jugadores[jugador%2]) {
|
synchronized (Servidor.salas4.get(sala).jugadores[jugador%2]) {
|
||||||
Servidor.salas4.get(sala).jugadores[jugador%2].notify();
|
Servidor.salas4.get(sala).jugadores[jugador%2].notify();
|
||||||
}
|
}
|
||||||
@ -147,17 +148,17 @@ public class ComunacacionJugador extends Thread{
|
|||||||
if(finalJuego != 0) {
|
if(finalJuego != 0) {
|
||||||
continuar = false;
|
continuar = false;
|
||||||
if(finalJuego == jugador) {
|
if(finalJuego == jugador) {
|
||||||
bufferSalida.println(gson.toJson("v"));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson("v"), ComunacacionJugador.pass));
|
||||||
Servidor.salas4.remove(sala);
|
Servidor.salas4.remove(sala);
|
||||||
}else {
|
}else {
|
||||||
bufferSalida.println(gson.toJson("f"));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson("f"), ComunacacionJugador.pass));
|
||||||
synchronized (Servidor.salas4.get(sala).jugadores[jugador%2]) {
|
synchronized (Servidor.salas4.get(sala).jugadores[jugador%2]) {
|
||||||
Servidor.salas4.get(sala).jugadores[jugador%2].notify();
|
Servidor.salas4.get(sala).jugadores[jugador%2].notify();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
bufferSalida.println(gson.toJson(Servidor.salas4.get(sala).tablero.getTablero()));
|
bufferSalida.println(Cifrado.cifrar(gson.toJson(Servidor.salas4.get(sala).tablero.getTablero()), ComunacacionJugador.pass));
|
||||||
Servidor.salas4.get(sala).tablero.colocarFicha(Integer.parseInt(gson.fromJson(bufferEntrada.readLine(), String.class)),jugador);
|
Servidor.salas4.get(sala).tablero.colocarFicha(Integer.parseInt(gson.fromJson(Cifrado.desencriptar(bufferEntrada.readLine(), ComunacacionJugador.pass), String.class)),jugador);
|
||||||
synchronized (Servidor.salas4.get(sala).jugadores[jugador%2]) {
|
synchronized (Servidor.salas4.get(sala).jugadores[jugador%2]) {
|
||||||
Servidor.salas4.get(sala).jugadores[jugador%2].notify();
|
Servidor.salas4.get(sala).jugadores[jugador%2].notify();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user