Linux - Select

 
Vista:

Select

Publicado por Gustavo Lo Giudice (1 intervención) el 02/06/2001 20:33:42
como se implementa la funcion select para seleccionar sockets TCP??
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Select

Publicado por alekusu (6 intervenciones) el 04/06/2001 00:02:00
En Linux, los sockets son tratados como cualquier otro descriptor de fichero, asi que el select seria igual, ahi va codigo de como progrmar el select para elegir entre dos sockets TCP.

struct sockaddr_in serv, serv1; /* pa el socket */
struct fd_set read_mask; /* pa el select */

serv.sin_port=puerto;
serv.sin_family=AF_INET;
serv.sin_addr.s_addr=INADDR_ANY;

/* igual pa serv1 */

decr_TCP1=crea_sock(serv,1);
decr_TCP2=crea_sock(serv1,1);

FD_ZERO(&read_mask);
FD_SET(decr_TCP1, &read_mask);
FD_SET(decr_TCP2, &read_mask);

select(descr_TCP2+1, &read_mask, NULL, NULL, NULL)

if(FD_ISSET(decr_TCP1, &read_mask))
{
/* Codigo pa ese socket */
}

if(FD_ISSET(decr_TCP2, &read_mask))
{
/* codigo pa este otro */
}

/* Por cierto lo descriptores luego hay que cerrarlos */

Espero que esto te sea de ayuda y te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar