[eside-ghost] duda con select() y descriptores de ficheros

zgor zgor en int80h.net
Mie Sep 21 12:33:51 CEST 2005


Aupi,
Para E/S asincrona select() es caniero
en http://zgor.int80h.net/files/zbouncer.c creo que utilizaba la select( 
para ver si venia datos de un origen (tcp) u de otro (tcp),  iwal te 
puede servir como ejemplo
La movida creo recordar que es:

1- preparar una lista de descriptores (sets FD_SET ) , ahi metes todos 
los descriptores que quieres 'vigilar', pueden ser ficheros, sockets, 
etc ... como en UNIX todo es un file, brutal! Incluso para temas tun/tap 
yeahhh
2- Bloquear con select
3- Mirar porque se ha desbloqueado, con FD_ISSET miras si determinado 
set ha sido el causante del desbloqueo y por lo tanto puedes hacer read( 
o recv( lo que quieres
4-... vuelta al bucle

con select puedes vigilar tres tipos de cambio: datos listos para 
escribir, para leer o excepcion.

Normalmente te interesara lectura para lo que quieres hacer

esto lo digo de carrerilla, pero creo que por ahi iban los tiros


enga

suerte!



Más información sobre la lista de distribución eside-ghost