/** @file * \brief Header de la clase Socket * \author Imanol Barba Sabariego * \date 12/06/2013 * * En este fichero se define la clase Socket, que es la clase que se abstraer toda la comunicación con sockets al programador */ #ifndef SOCKET_H_ #define SOCKET_H_ #include #include #include "SocketException.h" #include #include #include #include #include #include #include #include #include using namespace std; //! Clase del socket /** Esta clase define un objeto con los métodos y atributos necesarios para realizar comunicación encriptada o en texto llano a través de un socket TCP/IP en un entorno UNIX abstrayendo la implementación de sockets y de encriptación al programador. */ class Socket { private: //! Descriptor del fichero del socket /*! Esta variable contiene el file descriptor del socket abierto por el SO. */ int sock; //! Estructura de dirección de socket /*! Este struct es usado por el SO para gestionar la dirección del socket abierto. */ struct sockaddr_in sockAddr; //! Método para recibir un mensaje de longitud conocida /*! \brief Este método se usa para recibir un mensaje de la longitud que se especifica por argumento y almacenarlo en el buffer proporcionado. _Este método garantiza que todo el mensaje se recibirá entero aunque la red no admita una longitud de paquete tan grande._*/ int Receive(char *buff/*!> ( string& /*!