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 ExCSocket

#include <ExCSocket.h>

Graphe d'héritage de la classe ExCSocket

ExCSocketClient ExCSocketServer

Membres publics

 ExCSocket ()
 ExCSocket (ExCSocket &socket)
 ExCSocket (int Handler)
 ExCSocket (int *Handler)
 ExCSocket (int domaine, int protocole)
 ~ExCSocket ()
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

ExCSocket::ExCSocket  ) 
 

Définition à la ligne 9 du fichier ExCSocket.cpp.

Références ExCSocket(), Guard, m_hSocket, SetSocketPort(), et UnGuard.

Référencé par ExCSocket(), ExCSocketClient::ExCSocketClient(), ExCSocketServer::ExCSocketServer(), et ~ExCSocket().

00009                     {Guard(ExCSocket::ExCSocket())
00010 #if _WIN32
00011         WSADATA WSAData;
00012         WSAStartup(MAKEWORD(2,0), &WSAData);
00013 #endif
00014         SetSocketPort(5000);
00015         m_hSocket=socket(AF_INET,SOCK_STREAM,0);
00016         if(m_hSocket==-1)
00017         {
00018                 std::cout<<"Socket error"<<std::endl;
00019         }
00020 UnGuard
00021 }

ExCSocket::ExCSocket ExCSocket socket  ) 
 

Définition à la ligne 37 du fichier ExCSocket.cpp.

Références ExCSocket(), GetHandler(), GetIp(), GetSocketPort(), Guard, SetHandler(), SetIp(), SetSocketPort(), et UnGuard.

00038 {
00039 Guard(ExCSocket::ExCSocket(ExCSocket& socket))
00040         SetSocketPort(socket.GetSocketPort());
00041         SetHandler(socket.GetHandler());
00042         SetIp(socket.GetIp());
00043 UnGuard
00044 }

ExCSocket::ExCSocket int  Handler  ) 
 

Définition à la ligne 23 du fichier ExCSocket.cpp.

Références ExCSocket(), Guard, SetHandler(), et UnGuard.

00024 {
00025 Guard(ExCSocket::ExCSocket(int handler))
00026         SetHandler(Handler);
00027 UnGuard
00028 }

ExCSocket::ExCSocket int *  Handler  ) 
 

Définition à la ligne 30 du fichier ExCSocket.cpp.

Références ExCSocket(), Guard, SetHandler(), et UnGuard.

00031 {
00032 Guard(ExCSocket::ExCSocket(int handler))
00033         SetHandler(*Handler);
00034 UnGuard
00035 }

ExCSocket::ExCSocket int  domaine,
int  protocole
 

Définition à la ligne 46 du fichier ExCSocket.cpp.

Références ExCSocket(), Guard, m_hSocket, et UnGuard.

00047 {
00048 Guard(ExCSocket::ExCSocket(int domaine,int protocole))
00049         m_hSocket=socket(domaine,protocole,0);
00050         if(m_hSocket==-1)
00051         {
00052                 std::cout<<"Erreur socket"<<std::endl;
00053         }
00054 UnGuard
00055 }

ExCSocket::~ExCSocket  ) 
 

Définition à la ligne 57 du fichier ExCSocket.cpp.

Références Close(), ExCSocket(), Guard, et UnGuard.

00058 {
00059 Guard(ExCSocket::~ExCSocket())
00060         Close();
00061 UnGuard
00062 }


Documentation des méthodes

void ExCSocket::Close void   ) 
 

Définition à la ligne 92 du fichier ExCSocket.cpp.

Références Close(), Guard, m_hSocket, et UnGuard.

Référencé par Close(), ExManagerNetwork::Connect(), ExCSocketClient::Connect(), ExManagerNetwork::Disconnect(), ExCSocketServer::Listen(), ~ExCSocket(), et ExCSocketServer::~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]
 

Définition à la ligne 99 du fichier ExCSocket.h.

Références m_hSocket.

Référencé par ExCSocket().

00099 {return m_hSocket;}

std::string ExCSocket::GetIp void   )  [inline]
 

Définition à la ligne 101 du fichier ExCSocket.h.

Références m_pIP.

Référencé par ExCSocket().

00101 {return m_pIP;}

int ExCSocket::GetSocketPort void   )  [inline]
 

Définition à la ligne 103 du fichier ExCSocket.h.

Références m_Port.

Référencé par ExCSocket().

00103 {return m_Port;}

void ExCSocket::Init void   ) 
 

Redéfinie dans ExCSocketClient, et ExCSocketServer.

Définition à la ligne 68 du fichier ExCSocket.cpp.

Références EXC, Guard, Init(), m_AdresseIP, m_AdresseSocket, m_pInfosHost, m_Port, SetIp(), Trace, et UnGuard.

Référencé par ExCSocketServer::Init(), ExCSocketClient::Init(), et Init().

00069 {
00070 Guard(ExCSocket::Init(void))
00071 #if _WIN32
00072         //m_AdresseSocket.sin_addr.s_addr                       = inet_addr("192.168.0.1");
00073         m_AdresseSocket.sin_addr.s_addr                 = inet_addr("80.200.104.109");
00074 #else
00075         //if((m_pInfosHost=gethostbyname("lore.starfleet.org"))==0)
00076         if((m_pInfosHost=gethostbyname("hobbes.homelinux.net"))==0)
00077         {
00078                 Trace("Erreur d'aquisition sur le host");
00079                 EXC
00080         }
00081         memcpy(&m_AdresseIP,m_pInfosHost->h_addr,m_pInfosHost->h_length);
00082         SetIp(inet_ntoa(m_AdresseIP));
00083         memset(&m_AdresseSocket,0,sizeof(struct sockaddr_in));
00084         memcpy(&m_AdresseSocket.sin_addr,m_pInfosHost->h_addr,m_pInfosHost->h_length);
00085 #endif
00086         m_AdresseSocket.sin_family= AF_INET;//le domaine
00087         m_AdresseSocket.sin_port=htons(m_Port);
00088 UnGuard
00089 }

void ExCSocket::RecvMessage ExCMessage InMessage  ) 
 

Définition à la ligne 111 du fichier ExCSocket.cpp.

Références Guard, m_hSocket, RecvMessage(), ExCMessage::SetMessage(), ExCMessage::SetType(), Trace, et UnGuard.

Référencé par ExManagerNetwork::Connect(), ExManagerNetwork::Ping(), et 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  ) 
 

Définition à la ligne 102 du fichier ExCSocket.cpp.

Références ExCMessage::GetMessage(), ExCMessage::GetType(), Guard, m_hSocket, SendMessage(), Trace, et UnGuard.

Référencé par ExManagerNetwork::Connect(), ExManagerNetwork::Disconnect(), ExManagerNetwork::InputCommand(), ExManagerNetwork::Ping(), et 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]
 

Définition à la ligne 100 du fichier ExCSocket.h.

Références m_hSocket.

Référencé par ExCSocket().

00100 {m_hSocket=handler;}

void ExCSocket::SetIp std::string  ip  )  [inline]
 

Définition à la ligne 102 du fichier ExCSocket.h.

Références m_pIP.

Référencé par ExCSocket(), et Init().

00102 {m_pIP=ip;}

void ExCSocket::SetSocketPort int  port  )  [inline]
 

Définition à la ligne 104 du fichier ExCSocket.h.

Références m_Port.

Référencé par ExCSocket().

00104 {m_Port=port;}


Documentation des données imbriquées

struct in_addr ExCSocket::m_AdresseIP
 

Définition à la ligne 82 du fichier ExCSocket.h.

Référencé par Init().

struct sockaddr_in ExCSocket::m_AdresseSocket
 

Définition à la ligne 83 du fichier ExCSocket.h.

Référencé par ExCSocketClient::Connect(), ExCSocketServer::Init(), Init(), et ExCSocketServer::Listen().

int ExCSocket::m_hSocket
 

Définition à la ligne 80 du fichier ExCSocket.h.

Référencé par Close(), ExCSocketClient::Connect(), ExCSocket(), GetHandler(), ExCSocketServer::Init(), ExCSocketServer::Listen(), RecvMessage(), SendMessage(), et SetHandler().

struct hostent* ExCSocket::m_pInfosHost
 

Définition à la ligne 81 du fichier ExCSocket.h.

Référencé par Init().

std::string ExCSocket::m_pIP
 

Définition à la ligne 79 du fichier ExCSocket.h.

Référencé par GetIp(), et SetIp().

int ExCSocket::m_Port
 

Définition à la ligne 78 du fichier ExCSocket.h.

Référencé par GetSocketPort(), Init(), et 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