|
1
2
|
\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}}
|
|
3
4
5
6
7
8
|
}
Fichero de implementación de un cliente.
|
|
9
|
{\ttfamily \#include \char`\"{}client.\-h\char`\"{}}\\*
|
|
10
11
12
|
\subsection*{Funciones}
\begin{DoxyCompactItemize}
\item
|
|
13
14
|
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
|
|
15
|
bool \hyperlink{client_8cpp_ab4a3d59d9d8c97b79cb3a6cb6a0e403c}{connect} (\hyperlink{class_socket}{Socket} \&s)
|
|
16
17
18
19
20
|
\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
|
|
21
22
|
int \hyperlink{client_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{main} ()
\begin{DoxyCompactList}\small\item\em Método principal del cliente. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
|
23
24
25
26
|
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item
bool \hyperlink{client_8cpp_ab36823025f12a809217f7771125658c2}{connected}
|
|
27
|
\begin{DoxyCompactList}\small\item\em Variable de estado del programa. \end{DoxyCompactList}\item
|
|
28
|
bool \hyperlink{client_8cpp_a9324389a5cdc532c6417a87ccafe18ce}{finished}
|
|
29
|
\begin{DoxyCompactList}\small\item\em Variable de estado del programa. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
|
30
31
32
33
34
35
36
37
38
|
\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}
|
|
39
|
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
|
|
40
41
|
\subsection{Documentación de las funciones}
|
|
42
43
44
45
46
47
48
|
\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}
|
|
49
50
51
52
53
54
55
|
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 (
|
|
56
|
\begin{DoxyParamCaption}
|
|
57
|
\item[{{\bf thread\-\_\-args} $\ast$}]{t\-\_\-arg}
|
|
58
|
\end{DoxyParamCaption}
|
|
59
|
)}}\label{client_8cpp_ab99831172d1d4bca2c79bb37c7c062df}
|
|
60
61
|
|
|
62
|
Método de liberación de los argumentos.
|
|
63
|
|
|
64
|
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}}
|
|
65
66
67
68
69
70
71
72
73
74
|
\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.
|
|
75
76
77
|
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 (
|
|
78
|
\begin{DoxyParamCaption}
|
|
79
80
81
82
83
84
85
86
87
88
89
90
|
\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}
|
|
91
|
\end{DoxyParamCaption}
|
|
92
93
|
)}}\label{client_8cpp_a6511fc920cd92a0fe628df3f1a1f7e5a}
|
|
94
|
|
|
95
96
97
|
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.
|
|
98
99
100
101
102
|
\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}
|
|
103
104
105
106
|
Variable de estado del programa.
|
|
107
108
109
|
\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}
|
|
110
111
112
113
|
Variable de estado del programa.
|