Soumis par trax le jeu, 22/01/2009 - 22:17
#define TRUE 1
#define FALSE 0
/**
* \fn BOOL sockConnect (char *addr, int port, int *socketID)
* \brief create and connect a socket to a given address/port
* \param addr address to connecto on
* \param port port to connect on
* \param socketID socket to be created
* \return TRUE if success, FALSE if failed
*/
int sockConnect (char *addr, int port, int *socketID){
struct sockaddr_in sockname;
struct hostent *host_address;
if ((host_address = gethostbyname(addr)) == NULL){ // addresse translation => IP
fprintf (stderr, "Error while converting %s to inet address", addr);
return FALSE;
}
#ifdef DEBUG
else{
printf ("official name : %s\n",host_address->h_name);
}
#endif
if ((*socketID = socket(AF_INET ,SOCK_STREAM, 0)) == -1){ // TPC/IP socket
fprintf (stderr; "Error while creating socket");
return FALSE;
}
sockname.sin_family = host_address->h_addrtype;
sockname.sin_port = htons (port);
memcpy ((char *)&sockname.sin_addr.s_addr, host_address->h_addr,host_address->h_length);
if((connect(*socketID, (struct sockaddr *)&sockname, sizeof(struct sockaddr_in))) == -1){
fprintf (stderr, "Error while connecting socket to %s:%d",addr, port);
return FALSE;
}
return TRUE;
‹ Effectuer des requêtes sur un serveur mysqlhautGestion des signaux ›