Page principale | Liste des namespaces | Hiérarchie des classes | Liste par ordre alphabétique | Liste des composants | Liste des fichiers | Membres des namespaces | Composants | Déclarations

# Référence de la classe ExCSocketServer

`#include <ExCSocketServer.h>`

Graphe d'héritage de la classe ExCSocketServer

## Membres publics
| ExCSocketServer ()
| ExCSocketServer (int domaine, int protocole)
| ~ExCSocketServer ()
int | Listen ()
void | Init (void)
void | Close (void)
int | GetHandler (void)
void | SetHandler (int handler)
std::string | GetIp (void)
void | SetIp (std::string ip)
int | GetSocketPort (void)
void | SetSocketPort (int port)
void | SendMessage (ExCMessage &OutMessage)
void | RecvMessage (ExCMessage &InMessage)
## Attributs Publics
int | m_Port
std::string | m_pIP
int | m_hSocket
hostent * | m_pInfosHost
in_addr | m_AdresseIP
sockaddr_in | m_AdresseSocket

## Documentation des contructeurs et destructeurs

ExCSocketServer::ExCSocketServer | ( |  | ) |

| Définition à la ligne 9 du fichier ExCSocketServer.cpp. Références ExCSocket::ExCSocket(), ExCSocketServer(), Guard, et UnGuard. Référencé par ExCSocketServer(), et ~ExCSocketServer().
    00009                                 {Guard(ExCSocketServer::ExCSocketServer())
    00010         ExCSocket();
    00011 UnGuard
    00012 }

ExCSocketServer::ExCSocketServer | ( | int | domaine,
|  | int | protocole
| ) |

| Définition à la ligne 14 du fichier ExCSocketServer.cpp. Références ExCSocket::ExCSocket(), ExCSocketServer(), Guard, et UnGuard.
    00014                                                          {Guard(ExCSocketServer::ExCSocketServer())
    00015         ExCSocket(domaine,protocole);
    00016 UnGuard
    00017 }

ExCSocketServer::~ExCSocketServer | ( |  | ) |

| Définition à la ligne 19 du fichier ExCSocketServer.cpp. Références ExCSocket::Close(), ExCSocketServer(), Guard, et UnGuard.
    00019                                  {Guard(ExCSocketServer::~ExCSocketServer())
    00020         Close();
    00021 UnGuard
    00022 }

## Documentation des méthodes

void ExCSocket::Close | ( | void |  | ) | `[inherited]`

| Définition à la ligne 92 du fichier ExCSocket.cpp. Références ExCSocket::Close(), Guard, ExCSocket::m_hSocket, et UnGuard. Référencé par ExCSocket::Close(), ExManagerNetwork::Connect(), ExCSocketClient::Connect(), ExManagerNetwork::Disconnect(), Listen(), ExCSocket::~ExCSocket(), et ~ExCSocketServer().
    00092                          {Guard(void ExCSocket::Close(void))
    00093 #if _WIN32
    00094         closesocket(m_hSocket);
    00095         WSACleanup();
    00096 #else
    00097         close(m_hSocket);
    00098 #endif
    00099 UnGuard
    00100 }

int ExCSocket::GetHandler | ( | void |  | ) | `[inline, inherited]`

| Définition à la ligne 99 du fichier ExCSocket.h. Références ExCSocket::m_hSocket. Référencé par ExCSocket::ExCSocket().
    00099 {return m_hSocket;}

std::string ExCSocket::GetIp | ( | void |  | ) | `[inline, inherited]`

| Définition à la ligne 101 du fichier ExCSocket.h. Références ExCSocket::m_pIP. Référencé par ExCSocket::ExCSocket().
    00101 {return m_pIP;}

int ExCSocket::GetSocketPort | ( | void |  | ) | `[inline, inherited]`

| Définition à la ligne 103 du fichier ExCSocket.h. Références ExCSocket::m_Port. Référencé par ExCSocket::ExCSocket().
    00103 {return m_Port;}

void ExCSocketServer::Init | ( | void |  | ) |

| Redéfinie à partir de ExCSocket. Définition à la ligne 46 du fichier ExCSocketServer.cpp. Références EXC, Guard, ExCSocket::Init(), ExCSocket::m_AdresseSocket, ExCSocket::m_hSocket, Trace, et UnGuard.
    00046                               {Guard(CSocket::Init(void))
    00047         ExCSocket::Init();
    00048         #ifndef _WIN32
    00049                 if(bind(m_hSocket,(struct sockaddr *)&m_AdresseSocket,sizeof(struct sockaddr_in))==-1)
    00050                 {
    00051                         Trace(Erreur sur le bind su socket)
    00052                         EXC
    00053                 }
    00054                 if(listen(m_hSocket,SOMAXCONN)==-1)
    00055                 {
    00056                         close(m_hSocket);
    00057                         EXC
    00058                 }
    00059         #endif
    00060 UnGuard
    00061 }

int ExCSocketServer::Listen | ( |  | ) |

| Définition à la ligne 24 du fichier ExCSocketServer.cpp. Références ExCSocket::Close(), EXC, Guard, Listen(), ExCSocket::m_AdresseSocket, ExCSocket::m_hSocket, Trace, et UnGuard. Référencé par Listen().
    00024                            {Guard(ExCSocketServer::Listen())
    00025         int hNewSocket=0;
    00026         #ifdef _WIN32
    00027                 int tailleSockaddr_in;
    00028         #else
    00029                 unsigned int tailleSockaddr_in;
    00030         #endif
    00031
    00032
    00033         tailleSockaddr_in= sizeof(struct sockaddr_in);
    00034         hNewSocket=accept(m_hSocket,(struct sockaddr *)&m_AdresseSocket,&tailleSockaddr_in);
    00035         if(hNewSocket==-1)
    00036         {
    00037                 Close();
    00038                 Trace(Erreur sur le listen)
    00039                 EXC
    00040         }
    00041         return hNewSocket;
    00042
    00043 UnGuard
    00044 }

void ExCSocket::RecvMessage | ( | ExCMessage & | InMessage | ) | `[inherited]`

| Définition à la ligne 111 du fichier ExCSocket.cpp. Références Guard, ExCSocket::m_hSocket, ExCSocket::RecvMessage(), ExCMessage::SetMessage(), ExCMessage::SetType(), Trace, et UnGuard. Référencé par ExManagerNetwork::Connect(), ExManagerNetwork::Ping(), et ExCSocket::RecvMessage().
    00112 {
    00113 Guard(void ExCSocket::RecvMessage(ExCMessage InMessage))
    00114
    00115         char * buffer;
    00116         buffer = new char[500];
    00117         if(recv(m_hSocket,buffer,500,0)==-1)
    00118         {
    00119                 Trace(Error on Recv Message)
    00120         }
    00121         //extract type
    00122         std::string bufftype;
    00123         for(unsigned int i=0;i<4;i++)
    00124         {
    00125                 bufftype=bufftype+buffer[i];
    00126         }
    00127         InMessage.SetType(atoi(bufftype.data()));
    00128         //extract msg
    00129         std::string  bufferMsg;
    00130         for(unsigned int j=5;j<500;j++)
    00131         {
    00132                 bufferMsg=bufferMsg+buffer[j];
    00133                 if(strcmp("\0",&buffer[j])==0)break;
    00134         }
    00135         InMessage.SetMessage(bufferMsg);
    00136 UnGuard
    00137 }

void ExCSocket::SendMessage | ( | ExCMessage & | OutMessage | ) | `[inherited]`

| Définition à la ligne 102 du fichier ExCSocket.cpp. Références ExCMessage::GetMessage(), ExCMessage::GetType(), Guard, ExCSocket::m_hSocket, ExCSocket::SendMessage(), Trace, et UnGuard. Référencé par ExManagerNetwork::Connect(), ExManagerNetwork::Disconnect(), ExManagerNetwork::InputCommand(), ExManagerNetwork::Ping(), et ExCSocket::SendMessage().
    00102                                                  {Guard(void ExCSocket::SendMessage(ExCMessage OutMessage))
    00103         char *buffer;
    00104         buffer= new char[500];
    00105         sprintf(buffer,"%d#%s%s",OutMessage.GetType(),OutMessage.GetMessage().data(),"\0");
    00106         if(send(m_hSocket,buffer,500,0)==-1)
    00107         {Trace(Error on send Message)}
    00108 UnGuard
    00109 }

void ExCSocket::SetHandler | ( | int | handler | ) | `[inline, inherited]`

| Définition à la ligne 100 du fichier ExCSocket.h. Références ExCSocket::m_hSocket. Référencé par ExCSocket::ExCSocket().
    00100 {m_hSocket=handler;}

void ExCSocket::SetIp | ( | std::string | ip | ) | `[inline, inherited]`

| Définition à la ligne 102 du fichier ExCSocket.h. Références ExCSocket::m_pIP. Référencé par ExCSocket::ExCSocket(), et ExCSocket::Init().
    00102 {m_pIP=ip;}

void ExCSocket::SetSocketPort | ( | int | port | ) | `[inline, inherited]`

| Définition à la ligne 104 du fichier ExCSocket.h. Références ExCSocket::m_Port. Référencé par ExCSocket::ExCSocket().
    00104 {m_Port=port;}

## Documentation des données imbriquées

struct in_addr ExCSocket::m_AdresseIP`[inherited]`

| Définition à la ligne 82 du fichier ExCSocket.h. Référencé par ExCSocket::Init().

struct sockaddr_in ExCSocket::m_AdresseSocket`[inherited]`

| Définition à la ligne 83 du fichier ExCSocket.h. Référencé par ExCSocketClient::Connect(), Init(), ExCSocket::Init(), et Listen().

int ExCSocket::m_hSocket`[inherited]`

| Définition à la ligne 80 du fichier ExCSocket.h. Référencé par ExCSocket::Close(), ExCSocketClient::Connect(), ExCSocket::ExCSocket(), ExCSocket::GetHandler(), Init(), Listen(), ExCSocket::RecvMessage(), ExCSocket::SendMessage(), et ExCSocket::SetHandler().

struct hostent* ExCSocket::m_pInfosHost`[inherited]`

| Définition à la ligne 81 du fichier ExCSocket.h. Référencé par ExCSocket::Init().

std::string ExCSocket::m_pIP`[inherited]`

| Définition à la ligne 79 du fichier ExCSocket.h. Référencé par ExCSocket::GetIp(), et ExCSocket::SetIp().

int ExCSocket::m_Port`[inherited]`

| Définition à la ligne 78 du fichier ExCSocket.h. Référencé par ExCSocket::GetSocketPort(), ExCSocket::Init(), et ExCSocket::SetSocketPort().

La documentation associée à cette classe a été générée à partir des fichiers suivants :

- ExCSocketServer.h
- ExCSocketServer.cpp