MiCasa
Class ConexionCliente

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--MiCasa.ConexionCliente
All Implemented Interfaces:
java.lang.Runnable

public class ConexionCliente
extends java.lang.Thread

Clase intermedia entre el programa cliente y las conexiones por socket con el servidor. La comunicación se realiza mediante comandos de texto por un único canal.


Field Summary
private  java.io.BufferedReader br
          Filtro para poder leer del socket línea a línea.
private  java.io.DataOutputStream dos
          Filtro para poder escribir al socket líneas enteras.
private  java.net.Socket so
          Socket a través del cuál llevar a cabo la comunicación.
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
ConexionCliente(java.lang.String host, java.lang.String puerto)
          Establece la conexión.
 
Method Summary
 boolean Autentificar(java.lang.String usuario, java.lang.String clave)
          Intenta realizar una autentificación con el servidor para iniciar el diálogo.
 int ComprarVivienda(java.lang.String cadena)
          Realiza una petición de compra al servidor.
 void ConfirmarCompra(boolean respuesta)
          Tras ComprarVivienda, si su valor de respuesta fue mayor que cero, entonces hay que confirmar o rechazar la compra para que el servidor salga de su estado de bloqueo.
 void Desconectar()
          Manda el mensaje de salida al servidor y cierra las conexiones.
 java.util.Vector ListadoViviendas(java.lang.String patron)
          Pide al servidor que envíe un listado de viviendas.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, run, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

so

private java.net.Socket so
Socket a través del cuál llevar a cabo la comunicación.


br

private java.io.BufferedReader br
Filtro para poder leer del socket línea a línea.


dos

private java.io.DataOutputStream dos
Filtro para poder escribir al socket líneas enteras.

Constructor Detail

ConexionCliente

public ConexionCliente(java.lang.String host,
                       java.lang.String puerto)
                throws java.io.IOException
Establece la conexión. Requiere la dirección IP o nómbre de la máquina y el puerto en el cual se va a realizar la conexión.

Method Detail

Desconectar

public void Desconectar()
Manda el mensaje de salida al servidor y cierra las conexiones.


Autentificar

public boolean Autentificar(java.lang.String usuario,
                            java.lang.String clave)
                     throws java.lang.Exception
Intenta realizar una autentificación con el servidor para iniciar el diálogo.

Returns:
False si el servidor rechazó la petición.
java.lang.Exception

ListadoViviendas

public java.util.Vector ListadoViviendas(java.lang.String patron)
Pide al servidor que envíe un listado de viviendas.

Parameters:
patron - Puede ser NULL para solicitar todas las viviendas, o una expresión regular que use '*' y '?'.
Returns:
Vector de String por vivienda.

ComprarVivienda

public int ComprarVivienda(java.lang.String cadena)
Realiza una petición de compra al servidor.

Returns:
Negativo si la casa no existe, cero si está comprada, o el precio positivo de la vivienda si se puede comprar.

ConfirmarCompra

public void ConfirmarCompra(boolean respuesta)
Tras ComprarVivienda, si su valor de respuesta fue mayor que cero, entonces hay que confirmar o rechazar la compra para que el servidor salga de su estado de bloqueo.