HANDLE s_h;
SOCKET s_socket;
Client s_client[Max_Connection-1];
int n_connected;
};
le probleme c'est que le serveur apres avoir accepté la connexion, il arrive pas a communiquer avec les clients, j'ai tjrs des erreurs au niveau de la fonction send. j'ai essayé de faire un cout sur l'id du socket cree par la fonction accept() et ce qui est bizarre c'est que je trouve tjrs la meme valeur (s=1) pour tous les clients. est ce que vous aurez une solution ?
cs_lacousine
Messages postés58Date d'inscriptionmardi 6 janvier 2004StatutMembreDernière intervention13 juillet 2007 15 févr. 2007 à 21:56
Svp pourrais-tu retapper ton code et faire des classes différentes pour le serveur et le client ?!?!? Je n'aime pas le fait que tout soit dans le main( ), car je trouve ca illisible et difficile à aider à te débugger.
Tu pourrais penser à te faire une classe SocketClient et SocketServeur, ca serait déjà un bon début.
<hr />
Mieux vaut être blonde et poser des questions que de rester ignorante !!!!
electroonn
Messages postés49Date d'inscriptionmardi 14 février 2006StatutMembreDernière intervention27 novembre 2007 15 févr. 2007 à 23:31
oui effectivement j'ai refait mon code et le probleme etait au niveau de l'affectation de l'id du socket dans la boucle if suivante:
if(s=accept(server.s_socket,(SOCKADDR *)&csin,&sinsize)!= INVALID_SOCKET)
il fallait plutot faire :
s=accept(server.s_socket,(SOCKADDR *)&csin,&sinsize);
if(s!=INVALID_SOCKET)
{
//code
}