Select bloquand en ecriture
Bonjour,
Je travaille sur un projet reseau ou le server ne doit pas bloquer meme s'il envois des donnees a un client qui enfin de compte ne les lis jamais. (C'est un peu idiot mains bon c'est le sujet).
J'utilise select(2) pour monitorer des sockets en lecture et en ecriture. Pour la lecture pas de probleme ca marche impec. Pour l'ecriture, si le client ne lie pas les donnees qu'on lui envois, select me dis que je peu ecrire dessus alors que ca bloque.
Comment bien utilser select pour l'ecriture sur une socket ?
Je travaille sous NetBSD.
Ca bloque toujours, utilise-je bien le FD_ISSET ?
En mettant MSG_WAITALL ou MSG_DONTWAIT ca ne bloque pas des le premier envois mais aubout d'un certain nombre d'envois ca bloque quand meme.
Enfait ce que je ne comprends pas c'est que meme en passant par un select et donc par FD_ISSET, l'envoi de message bloque toujours.
Si quelcun a un idee sur la chose car la je seche.
Normalemet quand je fait un FD_ISSET(fd_set, socket), si je n'ai pas 0 c'est que je peus ecrire sur le socket en question. Dit - moi si je me trompe.