PDF de programación - Juego de Cartas con Java

Imágen de pdf Juego de Cartas con Java

Juego de Cartas con Javagráfica de visualizaciones

Publicado el 20 de Agosto del 2018
1.264 visualizaciones desde el 20 de Agosto del 2018
301,6 KB
14 paginas
Creado hace 11a (16/02/2013)
TECNOLOGICO DE ESTUDIOS SUPERIORES

DEL ORIENTE DEL ESTADO DE MEXICO

Juego de Cartas con Java

•John Michel Rivera de León


John Michel Rivera de León



Modelo básico cliente/servidor

Características:
 Los clientes y los servidores pueden estar distribuidos en

diferentes máquinas.

 El mecanismo general de comunicación consiste en:
 - Cliente envía petición y espera respuesta.
 - Servidor recibe petición, procesa y contesta con respuesta.

Sistema Cliente-Servidor

o Esta forma de comunicación esta orientada a soportar los

roles y el intercambio de mensajes de las interacciones típicas
entre cliente-servidor

Socket

Cliente

Cualquier
puerto

Puerto
acordado

Mensaje

Otros puertos

Socket

Servidor

Protocolo de comunicación

 Tipos de Protocolos:

 UDP: Protocolo de Datagramas de Usuario.

 TCP/IP Se compone de 2 Protocolos:

 TCP; Protocolo de Control de Transferencia

 IP; Internet Protocol

Tecnología Java

 Cuando Sun decidió lanzar su nuevo estándar Java, llamado

Java2, creó tres diferentes entornos para desarrollo y
ejecución de aplicaciones:

 J2SE: Java 2 Second Edition.

 J2ME: Java 2 Micro Edition.

 J2EE(Java 2 Enterprise Edition)

Servidores Multihilos
 La Tecnología Multihilos no solamente simplifica el código
del servidor de manera considerable, sino que además hace
mas sencillo el desarrollo de servidores que explotan el
paralelismo.

Hilo servidor

trabajador

Servidor

Petición asignada hacia un hilo

Hilo trabajador

Petición que viene
desde la red

Sistema operativo

Diagrama de procesos (Servidor)

Codigo Servidor

 while ( true ) {


try {
System.out.println( "Listening....Esperando Conexiones Entrantes...");
cliente = servidor.accept();
online.addElement(cliente);
entrada = new DataInputStream( cliente.getInputStream() );
String user2=(String)entrada.readUTF();
System.out.println("Peticion de Ingreso de : "+user2);
if(usuarios.contains(user2)==true){
salida= new DataOutputStream(cliente.getOutputStream());
salida.writeUTF("Ya Existe Ese nombre de Usuario");
salida.flush(); delClien(cliente);
salida.close(); entrada.close(); cliente.close();
System.out.println("Se Duplico Un nombre de usuario y se Cerro esa Conexion...");
}
else{
usuarios.addElement(user2);
new Independencia_ES(cliente, this).start(); }
}
catch (Exception e ) { System.out.println(e); }
}






































Hilo administrador de cliente

do {

 try {

 mensaje =( String ) entrada.readUTF();

 enviarDatos(mensaje);

 }catch(SocketException se){ System.out.println(se);}



}

 } while ( !mensaje.equals(user2+": adios" ) );



 public void enviarDatos( String mensaje){

 try { for(int i=0;i<socks.tam2();i++){

 Socket cliente2=socks.selectCliente(i);

 DataOutputStream salida2 = new DataOutputStream( cliente2.getOutputStream() );

 DataInputStream entrada2 = new DataInputStream( cliente2.getInputStream() );

 salida2.writeUTF(mensaje);

 salida2.flush();}

 }catch ( IOException e) { System.out.println(e); }

 }

Cliente

 El cliente utiliza una interfaz para enviar peticiones a el

servidor, a través de un protocolo de comunicación especifico
de la aplicación.

Máquina cliente

Aplicación

n

SO local

Máquina servidor

Aplicación

n

Protocolo
especifico

De la

aplicación

SO local

Red

Diagrama de procesos (Cliente)

Conexión al servidor

































public void conectarAServidor() throws IOException{
System.out.println( "Intentando Conectar Con el Servidor...\n" );
cliente = new Socket(HOST, PUERTO);
System.out.println( "Conectado a: " +
cliente.getInetAddress().getHostName() );
}

public void obtenerFlujos() throws IOException{
salida = new DataOutputStream( cliente.getOutputStream() );
salida.writeUTF(User);
salida.flush();
salida.writeUTF(User);
salida.flush();
entrada = new DataInputStream( cliente.getInputStream() );
General.append("\n Conexion Establecida...");
System.out.println( "Conexion Establecida" );
}

Movimiento de Carta
 boton2.addMouseListener(new MouseListener() {
 public void mouseClicked(MouseEvent e) { }
 public void mousePressed(MouseEvent e) { }
 public void mouseReleased(MouseEvent e) {
 JTextField eq=new JTextField();
 String ex=""+getMousePosition();
 String exk= ex.replace("java.awt.Point[x=", "");
 eq.setText(exk);
 eq.select(0, exk.indexOf(","));
 int xok=Integer.parseInt(eq.getSelectedText());
 eq.select(exk.indexOf("=")+1,exk.length()-1);
 int yok=Integer.parseInt(eq.getSelectedText());
 boton2.setBounds(xok-32, yok-80, 77, 115);
 }

Fuentes:

Bibliografia:
 Tanenbaum, Andrew. Sistemas Operativos Distribuidos.

ED.Prentice Hall. Capitulo 1,3,4.


 Deitel Deitel. Cómo Programar en Java. Ed.Pearson.

Capitulo 18 Redes.


 Ken Arnold, James Gosling, David Holmes. THE Java™

Programming Language, Fourth Edition.


 Documentación de Java.
  • Links de descarga
http://lwp-l.com/pdf13097

Comentarios de: Juego de Cartas con Java (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad