Bonjour à tous,
Je suis un nouveau développeur en C++ de puis le 20 novembre 2007.

Alors, je doit développer un serveur pour recevoir des requetes SQL que je doit envoyer a la base de données.

Pour cela j'ai utilisé le super truc de linux : xinetd.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
//utilisation de dup avec xinet.d et etc/services
int res;
maSocket = dup(1);
if(maSocket == -1)
{	
	mpclLogs->fnWrite(ClassLogs::LOG_ERROR, "Error about the socket with dup");
	mpclLogs->fnWrite(Classogs::LOG_ERROR,strerror(errno));
	return BAD_DUP;
}
dup permet de récupérer le handel de la socket car xinetd lance mon serveur que si on se conecte sur un port bien précis.

j'aimerai bien récupérer le descripteur de la socket pour connaitre son adresse IP et autre information avec la fonction :
int getpeername(maSocket, struct sockaddr *name, socklen_t *namelen);

le souci c'est que j'ai pas "struct sockaddr *name" je n'est que "maSocket = dup(1);"
et je me contente simplement de faire des send()/recv().

Si quelqu'un peut me venir en aide, je suis preneur.
Cordialement
et Merci a tous