GodzilLe 04/05/2009 à 18:30
-- non rien --
enfin si:
Le temps d'attente sur une recv n'est pas "INFINITE", il y a toujours un timeout, apres si tu kill toutes les sockets/thread, c'est souvent car tu quitte l'application, et fermer une socket/thread de maniere brutale n'est pas forcement très grave.
Apres effectivement il reste le moyen de faire des sockets non bloquantes, mais ce n'est pas très efficaces, car tu vas devoir faire du polling, et faire des attentes, donc tu va limiter le débit car tes temps d'attentes auront lieu à chaque reception (ou alors il faut faire du code pas forcement propre, ou tu va attendre si tu as rien recu et une attente dans le cas contraire, mais meme dans ce cas, tu risque de limiter le débit)
Sinon le close sur une socket devrait normalement arreter le "recv" (edit: ça devrait normalement marcher aussi pour listen, si on close la socket, la socket utilisé par le listen devient invalide..)
Je regarde ce soir dans mes codes pour voir comment je faisais...
Le problème c'est que certains de ces parametres dépendent de l'implémentation... Et le timeout doit pouvoir être configurable sur certaines d'entre elles