\hypertarget{client_8cpp}{\section{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/client.cpp} \label{client_8cpp}\index{/home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/client.\-cpp@{/home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/client.\-cpp}} } Fichero de implementación de un cliente. {\ttfamily \#include \char`\"{}client.\-h\char`\"{}}\\* \subsection*{Funciones} \begin{DoxyCompactItemize} \item void \hyperlink{client_8cpp_ab99831172d1d4bca2c79bb37c7c062df}{kill\-Thread} (\hyperlink{structthread__args}{thread\-\_\-args} $\ast$t\-\_\-arg) \begin{DoxyCompactList}\small\item\em Método de liberación de los argumentos. \end{DoxyCompactList}\item bool \hyperlink{client_8cpp_ab4a3d59d9d8c97b79cb3a6cb6a0e403c}{connect} (\hyperlink{class_socket}{Socket} \&s) \begin{DoxyCompactList}\small\item\em Método de conexión. \end{DoxyCompactList}\item void $\ast$ \hyperlink{client_8cpp_a6511fc920cd92a0fe628df3f1a1f7e5a}{send\-Thread} (void $\ast$args) \begin{DoxyCompactList}\small\item\em Thread de envío de mensajes. \end{DoxyCompactList}\item void $\ast$ \hyperlink{client_8cpp_abbdd974364b0dba7bb0524ab8f115a03}{recv\-Thread} (void $\ast$args) \begin{DoxyCompactList}\small\item\em Thread de recepción de mensajes. \end{DoxyCompactList}\item int \hyperlink{client_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{main} () \begin{DoxyCompactList}\small\item\em Método principal del cliente. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection*{Variables} \begin{DoxyCompactItemize} \item bool \hyperlink{client_8cpp_ab36823025f12a809217f7771125658c2}{connected} \begin{DoxyCompactList}\small\item\em Variable de estado del programa. \end{DoxyCompactList}\item bool \hyperlink{client_8cpp_a9324389a5cdc532c6417a87ccafe18ce}{finished} \begin{DoxyCompactList}\small\item\em Variable de estado del programa. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection{Descripción detallada} Fichero de implementación de un cliente. \begin{DoxyAuthor}{Autor} Imanol Barba Sabariego \end{DoxyAuthor} \begin{DoxyDate}{Fecha} 13/06/2013 \end{DoxyDate} En este fichero se implementa un cliente para poder usar con el servidor creado, usando la clase \hyperlink{class_socket}{Socket}. R\-E\-V\-I\-S\-A\-D\-O E\-L 10/12/2013 P\-A\-R\-A L\-A A\-P\-L\-I\-A\-C\-IÓ\-N J\-C\-H\-A\-T \subsection{Documentación de las funciones} \hypertarget{client_8cpp_ab4a3d59d9d8c97b79cb3a6cb6a0e403c}{\index{client.\-cpp@{client.\-cpp}!connect@{connect}} \index{connect@{connect}!client.cpp@{client.\-cpp}} \subsubsection[{connect}]{\setlength{\rightskip}{0pt plus 5cm}bool connect ( \begin{DoxyParamCaption} \item[{{\bf Socket} \&}]{s} \end{DoxyParamCaption} )}}\label{client_8cpp_ab4a3d59d9d8c97b79cb3a6cb6a0e403c} Método de conexión. Este método conecta el cliente a una sala de chat. \hypertarget{client_8cpp_ab99831172d1d4bca2c79bb37c7c062df}{\index{client.\-cpp@{client.\-cpp}!kill\-Thread@{kill\-Thread}} \index{kill\-Thread@{kill\-Thread}!client.cpp@{client.\-cpp}} \subsubsection[{kill\-Thread}]{\setlength{\rightskip}{0pt plus 5cm}void kill\-Thread ( \begin{DoxyParamCaption} \item[{{\bf thread\-\_\-args} $\ast$}]{t\-\_\-arg} \end{DoxyParamCaption} )}}\label{client_8cpp_ab99831172d1d4bca2c79bb37c7c062df} Método de liberación de los argumentos. Este método se encarga de liberar la memoria asignada a los argumentos pasados a los threads que ahora han terminado. \hypertarget{client_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{\index{client.\-cpp@{client.\-cpp}!main@{main}} \index{main@{main}!client.cpp@{client.\-cpp}} \subsubsection[{main}]{\setlength{\rightskip}{0pt plus 5cm}int main ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} )}}\label{client_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4} Método principal del cliente. Este método inicializa el \hyperlink{class_socket}{Socket}, establece la conexión y realiza las acciones que se le hayan programado para comunicarse con el servidor. \hypertarget{client_8cpp_abbdd974364b0dba7bb0524ab8f115a03}{\index{client.\-cpp@{client.\-cpp}!recv\-Thread@{recv\-Thread}} \index{recv\-Thread@{recv\-Thread}!client.cpp@{client.\-cpp}} \subsubsection[{recv\-Thread}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ recv\-Thread ( \begin{DoxyParamCaption} \item[{void $\ast$}]{args} \end{DoxyParamCaption} )}}\label{client_8cpp_abbdd974364b0dba7bb0524ab8f115a03} Thread de recepción de mensajes. Este método es ejecutado por un thread con el objetivo de recibir los mensajes por el socket, gestionarlos e imprimirlos por pantalla o tomar las medidas necesarias . \hypertarget{client_8cpp_a6511fc920cd92a0fe628df3f1a1f7e5a}{\index{client.\-cpp@{client.\-cpp}!send\-Thread@{send\-Thread}} \index{send\-Thread@{send\-Thread}!client.cpp@{client.\-cpp}} \subsubsection[{send\-Thread}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ send\-Thread ( \begin{DoxyParamCaption} \item[{void $\ast$}]{args} \end{DoxyParamCaption} )}}\label{client_8cpp_a6511fc920cd92a0fe628df3f1a1f7e5a} Thread de envío de mensajes. Este método es ejecutado por un thread con el objetivo de enviar los mensajes y comandos que el usuario introduce por teclado. \subsection{Documentación de las variables} \hypertarget{client_8cpp_ab36823025f12a809217f7771125658c2}{\index{client.\-cpp@{client.\-cpp}!connected@{connected}} \index{connected@{connected}!client.cpp@{client.\-cpp}} \subsubsection[{connected}]{\setlength{\rightskip}{0pt plus 5cm}bool connected}}\label{client_8cpp_ab36823025f12a809217f7771125658c2} Variable de estado del programa. \hypertarget{client_8cpp_a9324389a5cdc532c6417a87ccafe18ce}{\index{client.\-cpp@{client.\-cpp}!finished@{finished}} \index{finished@{finished}!client.cpp@{client.\-cpp}} \subsubsection[{finished}]{\setlength{\rightskip}{0pt plus 5cm}bool finished}}\label{client_8cpp_a9324389a5cdc532c6417a87ccafe18ce} Variable de estado del programa.