Pb utilisation select () [SOCKETS] - C++ - Programmation
Marsh Posté le 13-03-2005 à 13:16:34
Bonjour,
c'est normal que tu tombes sur une boucle infinie car select modifie le fd_set après chaque appel pour indiquer d'où proviennent les évènements ( a l'aide de la macro FD_ISSET ).
Pour que ça fonctionne il faut que tu réinitialises ton set apres chaque select (FD_SET).
Marsh Posté le 13-03-2005 à 18:38:50
J'ai completement oublié de le noter dans le code, je fais effectivement une remise à zero dans la boucle juste avant l'utilisation du select.
Marsh Posté le 15-03-2005 à 18:03:18
J'ai enfin reussi à faire fonctionner mon select() sous Linux.
Par contre sous windows, rien à faire, ce select() semble ne pas vouloir se faire.
Marsh Posté le 13-03-2005 à 11:35:35
Bonjour à tous.
Je commence mes balbutiements en programmation réseau. Pour le moment, mon client/serveur fonctionne (sous Linux et Windows), cela consiste juste à faire quelque de tres simple en passant du texte du client vers le serveur et du serveur vers le client. Pour le moment tout fonctionne, il me faut maintenant gérer les timeout. Après quelques recherches sur le forum, il semble que select() soit la fonction à utiliser (en plus c'est portable windows/Linux ce qui est parfait pour mes besoins).
Cependant je n'arrive pas à l'utiliser correctement.
Voici le code approximatif du serveur(pour Linux et Win) :
Code du client :
Le pb c'est que je tombe sur une boucle infinie. Si j'enleve la boucle, je tombe forcement sur un timeout.
Fct : le client envoi un code au serveur, le serveur le recoit et le traite, renvoit la reponse au client.
Message édité par barbaputas le 15-03-2005 à 18:04:39