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

ExCSocket

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 :
Généré le Tue Oct 28 12:43:55 2003 pour ExNihilo par doxygen 1.3.4