uniandes.cupi2.messengerAmigos.servidor
Interface IServidorAmigos

All Known Implementing Classes:
ServidorAmigos

public interface IServidorAmigos

TODO documentar


Field Summary
static java.lang.String AGREGAR_AMIGO
          Mensaje que se usa para agregar un amigo
static java.lang.String CONVERSACION
          Mensaje que se usa para que un cliente le indique al servidor que va a iniciar una charla y que necesita ponerse en contacto con un amigo
static java.lang.String DESCONEXION
          Mensaje que envía el servidor a un cliente cuando lo desconecta
static java.lang.String INCIAR_CHARLA
          Mensaje que se usa para que el servidor le indique a un cliente que va a iniciarse una conversación
static java.lang.String LOGIN
          Mensaje que se envía cuando un cliente se va a conectar
static java.lang.String LOGOUT
          Mensaje que se envía cuando un cliente se va a desconectar
static java.lang.String OFFLINE
          Mensaje que se usa para indicar que un amigo está desconectado
static java.lang.String ONLINE
          Mensaje que se usa para indicar que un amigo está conectado
 
Method Summary
 void cerrarConexion()
          Cierra el socket del servidor que espera clientes
pre: No se está esperando una conexión en el socket.
 IAdministradorAmigos darAministradorAmigos()
          Retorna el administrador de amigos usado por el servidor
 java.util.Collection darClientes()
          Retorna una colección de Strings con la información de los clientes que están conectados actualmente
 void desconectarCliente(java.lang.String usuario)
          Elimina el manejador del usuario indicado porque este se está desconectando
 void desconectarDB()
          Termina la conexión a la base de datos y la cierra
 void enviarNotificacionAmigo(java.lang.String usuario, Usuario estadoAmigo)
          Envía un mensaje a un usuario indicado el estado de un amigo
 void iniciarConversacion(java.lang.String usuario, java.lang.String amigo, java.lang.String direccionIp, int puerto)
          Envía un mensaje a un usuario para que participe en una conversación
 java.lang.String metodo1()
          Método para la extensión 1
 java.lang.String metodo2()
          Método para la extensión2
 void recibirConexiones()
          Este método se encarga de recibir todas las conexiones de los clientes.
 

Field Detail

LOGIN

static final java.lang.String LOGIN
Mensaje que se envía cuando un cliente se va a conectar

See Also:
Constant Field Values

LOGOUT

static final java.lang.String LOGOUT
Mensaje que se envía cuando un cliente se va a desconectar

See Also:
Constant Field Values

DESCONEXION

static final java.lang.String DESCONEXION
Mensaje que envía el servidor a un cliente cuando lo desconecta

See Also:
Constant Field Values

ONLINE

static final java.lang.String ONLINE
Mensaje que se usa para indicar que un amigo está conectado

See Also:
Constant Field Values

OFFLINE

static final java.lang.String OFFLINE
Mensaje que se usa para indicar que un amigo está desconectado

See Also:
Constant Field Values

AGREGAR_AMIGO

static final java.lang.String AGREGAR_AMIGO
Mensaje que se usa para agregar un amigo

See Also:
Constant Field Values

INCIAR_CHARLA

static final java.lang.String INCIAR_CHARLA
Mensaje que se usa para que el servidor le indique a un cliente que va a iniciarse una conversación

See Also:
Constant Field Values

CONVERSACION

static final java.lang.String CONVERSACION
Mensaje que se usa para que un cliente le indique al servidor que va a iniciar una charla y que necesita ponerse en contacto con un amigo

See Also:
Constant Field Values
Method Detail

darAministradorAmigos

IAdministradorAmigos darAministradorAmigos()
Retorna el administrador de amigos usado por el servidor

Returns:
adminAmigos

desconectarDB

void desconectarDB()
                   throws java.sql.SQLException
Termina la conexión a la base de datos y la cierra

Throws:
java.sql.SQLException - Se lanza esta excepción si hay problemas terminando la conexión a la base de datos

recibirConexiones

void recibirConexiones()
Este método se encarga de recibir todas las conexiones de los clientes.
Este método debe abrir el socket y para cada conexión entrante construir un ManejadorCliente asociado.


cerrarConexion

void cerrarConexion()
                    throws java.io.IOException
Cierra el socket del servidor que espera clientes
pre: No se está esperando una conexión en el socket.

Throws:
java.io.IOException - Se lanza esta excepción si hay problemas cerrando el socket

darClientes

java.util.Collection darClientes()
Retorna una colección de Strings con la información de los clientes que están conectados actualmente

Returns:
Collection de Strings

enviarNotificacionAmigo

void enviarNotificacionAmigo(java.lang.String usuario,
                             Usuario estadoAmigo)
Envía un mensaje a un usuario indicado el estado de un amigo

Parameters:
usuario - El nombre del usuario al que se le debe enviar el mensaje - usuario != null && usuario != ""
estadoAmigo - El estado del amigo del que se va a enviar la notificación - estadoAmigo != null

iniciarConversacion

void iniciarConversacion(java.lang.String usuario,
                         java.lang.String amigo,
                         java.lang.String direccionIp,
                         int puerto)
Envía un mensaje a un usuario para que participe en una conversación

Parameters:
usuario - El nombre del usuario al que se le va a enviar el mensaje para iniciar una conversación - usuario != null
amigo - El nombre del usuario con el que se va a establecer una conversación - amigo != null
direccionIp - La direccion ip del usuario con el que se va a establecer la conversación - direccionIp != null
puerto - El puerto al que se debe conectar el usuario

desconectarCliente

void desconectarCliente(java.lang.String usuario)
Elimina el manejador del usuario indicado porque este se está desconectando

Parameters:
usuario - El nombre del usuario que se está desconectado - usuario != null

metodo1

java.lang.String metodo1()
Método para la extensión 1

Returns:
respuesta1

metodo2

java.lang.String metodo2()
Método para la extensión2

Returns:
respuesta2