\hypertarget{server_8h}{}\section{server.\+h File Reference} \label{server_8h}\index{server.\+h@{server.\+h}} Library for opening a T\+CP server, receiving data and sending message to monitor. {\ttfamily \#include \char`\"{}image.\+h\char`\"{}}\newline Include dependency graph for server.\+h\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{server_8h__incl} \end{center} \end{figure} \subsection*{Macros} \begin{DoxyCompactItemize} \item \#define \hyperlink{server_8h_af257e2a3e091629829857a2eb8931a7a}{D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+P\+O\+RT}~2323 \end{DoxyCompactItemize} \subsection*{Functions} \begin{DoxyCompactItemize} \item int \hyperlink{server_8h_a99b54d5b3404766f906f49605a4aa0e3}{open\+Server} (int port) \begin{DoxyCompactList}\small\item\em Open server port, connect and listen to given port. \end{DoxyCompactList}\item int \hyperlink{server_8h_ab65b2df50051036defe0f35366f5a3d6}{close\+Server} () \begin{DoxyCompactList}\small\item\em Close server. \end{DoxyCompactList}\item int \hyperlink{server_8h_abff9f8e931ecce919588b371dc511857}{accept\+Client} () \begin{DoxyCompactList}\small\item\em Wait for a client to connect. \end{DoxyCompactList}\item int \hyperlink{server_8h_a8d865d29914b980fd71ed8d347e4ec50}{send\+Data\+To\+Server} (char $\ast$data, int length) \begin{DoxyCompactList}\small\item\em Send given data to monitor. \end{DoxyCompactList}\item int \hyperlink{server_8h_a4c2df7961aa7379ac79d80980a1c537b}{send\+Data\+To\+Server\+For\+Client} (int client, char $\ast$data, int length) \begin{DoxyCompactList}\small\item\em Send given data to monitor, using specific client ID. \end{DoxyCompactList}\item int \hyperlink{server_8h_a8b66a2007f3f9ed8538428a309c9d368}{receive\+Data\+From\+Server} (char $\ast$data, int size) \begin{DoxyCompactList}\small\item\em Read data from monitor. \end{DoxyCompactList}\item int \hyperlink{server_8h_a247e0124af257d0cc7abc25a7c448d1b}{receive\+Data\+From\+Server\+From\+Client} (int client, char $\ast$data, int size) \begin{DoxyCompactList}\small\item\em Read data from monitor, using specific client ID. \end{DoxyCompactList}\item int \hyperlink{server_8h_a51b9372f5467705aa81d76ae034c7628}{send\+Image} (\hyperlink{image_8h_a9ac2855e21920c676a108df386ff9415}{Jpg} $\ast$image) \begin{DoxyCompactList}\small\item\em Send image to monitor using default client ID. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection{Detailed Description} Library for opening a T\+CP server, receiving data and sending message to monitor. \begin{DoxyAuthor}{Author} P\+E.\+Hladik \end{DoxyAuthor} \begin{DoxyVersion}{Version} 1.\+0 \end{DoxyVersion} \begin{DoxyDate}{Date} 06/06/2017 \end{DoxyDate} \subsection{Macro Definition Documentation} \mbox{\Hypertarget{server_8h_af257e2a3e091629829857a2eb8931a7a}\label{server_8h_af257e2a3e091629829857a2eb8931a7a}} \index{server.\+h@{server.\+h}!D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+P\+O\+RT@{D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+P\+O\+RT}} \index{D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+P\+O\+RT@{D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+P\+O\+RT}!server.\+h@{server.\+h}} \subsubsection{\texorpdfstring{D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+P\+O\+RT}{DEFAULT\_SERVER\_PORT}} {\footnotesize\ttfamily \#define D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+P\+O\+RT~2323} Definition at line 30 of file server.\+h. \subsection{Function Documentation} \mbox{\Hypertarget{server_8h_abff9f8e931ecce919588b371dc511857}\label{server_8h_abff9f8e931ecce919588b371dc511857}} \index{server.\+h@{server.\+h}!accept\+Client@{accept\+Client}} \index{accept\+Client@{accept\+Client}!server.\+h@{server.\+h}} \subsubsection{\texorpdfstring{accept\+Client()}{acceptClient()}} {\footnotesize\ttfamily int accept\+Client (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Wait for a client to connect. \begin{DoxyReturn}{Returns} Return client Id or -\/1 if it failed \end{DoxyReturn} \mbox{\Hypertarget{server_8h_ab65b2df50051036defe0f35366f5a3d6}\label{server_8h_ab65b2df50051036defe0f35366f5a3d6}} \index{server.\+h@{server.\+h}!close\+Server@{close\+Server}} \index{close\+Server@{close\+Server}!server.\+h@{server.\+h}} \subsubsection{\texorpdfstring{close\+Server()}{closeServer()}} {\footnotesize\ttfamily int close\+Server (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Close server. \begin{DoxyReturn}{Returns} -\/1 if closing failed , 0 otherwise \end{DoxyReturn} \mbox{\Hypertarget{server_8h_a99b54d5b3404766f906f49605a4aa0e3}\label{server_8h_a99b54d5b3404766f906f49605a4aa0e3}} \index{server.\+h@{server.\+h}!open\+Server@{open\+Server}} \index{open\+Server@{open\+Server}!server.\+h@{server.\+h}} \subsubsection{\texorpdfstring{open\+Server()}{openServer()}} {\footnotesize\ttfamily int open\+Server (\begin{DoxyParamCaption}\item[{int}]{port }\end{DoxyParamCaption})} Open server port, connect and listen to given port. \begin{DoxyParams}{Parameters} {\em port} & A valid port number (1024 -\/ 65535) \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} -\/1 if opening failed or the socket number \end{DoxyReturn} \mbox{\Hypertarget{server_8h_a8b66a2007f3f9ed8538428a309c9d368}\label{server_8h_a8b66a2007f3f9ed8538428a309c9d368}} \index{server.\+h@{server.\+h}!receive\+Data\+From\+Server@{receive\+Data\+From\+Server}} \index{receive\+Data\+From\+Server@{receive\+Data\+From\+Server}!server.\+h@{server.\+h}} \subsubsection{\texorpdfstring{receive\+Data\+From\+Server()}{receiveDataFromServer()}} {\footnotesize\ttfamily int receive\+Data\+From\+Server (\begin{DoxyParamCaption}\item[{char $\ast$}]{data, }\item[{int}]{size }\end{DoxyParamCaption})} Read data from monitor. Read, at most, size data from monitor. Data must be a valid pointer to a buffer large enough. \begin{DoxyParams}{Parameters} {\em data} & A valid pointer to a buffer \\ \hline {\em size} & Amount of data to read \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} Return amount of data really received. 0 if communication is broken \end{DoxyReturn} \mbox{\Hypertarget{server_8h_a247e0124af257d0cc7abc25a7c448d1b}\label{server_8h_a247e0124af257d0cc7abc25a7c448d1b}} \index{server.\+h@{server.\+h}!receive\+Data\+From\+Server\+From\+Client@{receive\+Data\+From\+Server\+From\+Client}} \index{receive\+Data\+From\+Server\+From\+Client@{receive\+Data\+From\+Server\+From\+Client}!server.\+h@{server.\+h}} \subsubsection{\texorpdfstring{receive\+Data\+From\+Server\+From\+Client()}{receiveDataFromServerFromClient()}} {\footnotesize\ttfamily int receive\+Data\+From\+Server\+From\+Client (\begin{DoxyParamCaption}\item[{int}]{client, }\item[{char $\ast$}]{data, }\item[{int}]{size }\end{DoxyParamCaption})} Read data from monitor, using specific client ID. Read, at most, size data from monitor. Data must be a valid pointer to a buffer large enough. \begin{DoxyParams}{Parameters} {\em client} & Client Id to receive from \\ \hline {\em data} & A valid pointer to a buffer \\ \hline {\em size} & Amount of data to read \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} Return amount of data really received. 0 if communication is broken \end{DoxyReturn} \mbox{\Hypertarget{server_8h_a8d865d29914b980fd71ed8d347e4ec50}\label{server_8h_a8d865d29914b980fd71ed8d347e4ec50}} \index{server.\+h@{server.\+h}!send\+Data\+To\+Server@{send\+Data\+To\+Server}} \index{send\+Data\+To\+Server@{send\+Data\+To\+Server}!server.\+h@{server.\+h}} \subsubsection{\texorpdfstring{send\+Data\+To\+Server()}{sendDataToServer()}} {\footnotesize\ttfamily int send\+Data\+To\+Server (\begin{DoxyParamCaption}\item[{char $\ast$}]{data, }\item[{int}]{length }\end{DoxyParamCaption})} Send given data to monitor. Send given data to monitor using default client ID \begin{DoxyParams}{Parameters} {\em data} & A valid pointer to a buffer \\ \hline {\em length} & Amount of data to send \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} Return amount of data really written. 0 if communication is broken \end{DoxyReturn} \mbox{\Hypertarget{server_8h_a4c2df7961aa7379ac79d80980a1c537b}\label{server_8h_a4c2df7961aa7379ac79d80980a1c537b}} \index{server.\+h@{server.\+h}!send\+Data\+To\+Server\+For\+Client@{send\+Data\+To\+Server\+For\+Client}} \index{send\+Data\+To\+Server\+For\+Client@{send\+Data\+To\+Server\+For\+Client}!server.\+h@{server.\+h}} \subsubsection{\texorpdfstring{send\+Data\+To\+Server\+For\+Client()}{sendDataToServerForClient()}} {\footnotesize\ttfamily int send\+Data\+To\+Server\+For\+Client (\begin{DoxyParamCaption}\item[{int}]{client, }\item[{char $\ast$}]{data, }\item[{int}]{length }\end{DoxyParamCaption})} Send given data to monitor, using specific client ID. Send given data to monitor using given client ID. \begin{DoxyParams}{Parameters} {\em client} & Client Id to send data to \\ \hline {\em data} & A valid pointer to a buffer \\ \hline {\em length} & Amount of data to send \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} Return amount of data really written. 0 if communication is broken \end{DoxyReturn} \mbox{\Hypertarget{server_8h_a51b9372f5467705aa81d76ae034c7628}\label{server_8h_a51b9372f5467705aa81d76ae034c7628}} \index{server.\+h@{server.\+h}!send\+Image@{send\+Image}} \index{send\+Image@{send\+Image}!server.\+h@{server.\+h}} \subsubsection{\texorpdfstring{send\+Image()}{sendImage()}} {\footnotesize\ttfamily int send\+Image (\begin{DoxyParamCaption}\item[{\hyperlink{image_8h_a9ac2855e21920c676a108df386ff9415}{Jpg} $\ast$}]{image }\end{DoxyParamCaption})} Send image to monitor using default client ID. Convert image to raw data, and add correct header before sending to monitor \begin{DoxyParams}{Parameters} {\em image} & An image object after compression \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} Return amount of data really received. 0 if communication is broken \end{DoxyReturn}