bonjour,

je suis entrain d'écrire une application qui utilise les sockets pour émettre sur plusieurs serveurs et pour rester cohérent j'ai créé une table contenant les paramètres des différents serveurs (host,port); et puis une fonction qui émet vers l'un des serveurs, le format de la fonction est le suivant:
int send_data(host, port, data){
1-création socket avec host et port (host, port sont les paramètres de distinataire);
2-émission des données; (write)
3-fermeture de la socket ( close())
}

le problème c'est que, après que la fonction est executée +ieurs fois ( 1016 exactement) j'aurais le message d'erreur suivant: too many open files.

questions:
1-comment faire pour eviter cette erreur?
2- y a-t-il un moyen pour supprimer un fichier (socket) à partir de son identificateur ?
Je vous informe que je programme avec du C sous Linux.
Merci d’avance.