Ir a inicioFavoritosRecomiéndanos El Prisma.com - Ingeniería de Sistemas
Inicio > Regresar a Ingeniería de Sistemas 819 visitantes activos
Sockets - Comunicación entre Procesos Distribuidos



Navigation bar
  Start Previous page
 11 of 14 
Next page End 6 7 8 9 10 11 12 13 14  

/*  
*-----------------------------------------------------------------  
 
*   PROTOTIPO:   int dupDf ( char *, int, int )  
*
 
*   DESCRIPCION: realiza la redirección duplicando los descriptores          
*                de ficheros  
*
 
*-----------------------------------------------------------------  
*/  
int dupDf ( char *nombre , int mascara , int dfStd )   
{
 
int df;  
df = open (nombre, mascara, PERMISO_DEFECTO);  
if (df == -1)  
   {  
     mandaPadre(SIGERRREDIREC);  
     return (FALSE);   
    }  
dup2 (df, dfStd);  /* copia sobre el descriptor de fichero estándar */  
   
  close (df);        /* cierra el original */  
return (TRUE);   
}  /* fin de dupDf */  
/*  
*--------------------------------------------------------  
*
 
*    PROTOTIPO:   int direccionInternet ( char* )  
*
 
*    DESCRIPCION: obtiene la dirección Internet del host  
*
 
*--------------------------------------------------------  
*/  
int direccionInternet ( char *nombre )       
{
 
return (strpbrk (nombre, "01234567890") != NULL);  
}
 
/*  
*---------------------------------------------------------------  
*
 
*    PROTOTIPO:   void obtenerHostyPuerto ( char* , char*, int* )  
*
 
*    DESCRIPCION: almacena en "nombre" y "puerto" el nombre del   
*                 nodo y su puerto de comunicaciones respectivamente  
*                 a partir de la variable "cad"  
*
 
*--------------------------------------------------------------  
*/  
void obtenerHostyPuerto ( char *cad, char *nombre, int* puerto)  
{
 
char *tok1,  *tok2;        /* decodifica Host y Puerto de una */  
                           /* entrada cadena tipo NOMBRE.PUERTO */  
tok1 = strtok (cad, ".");  
tok2 = strtok (NULL,".");  
if (tok2 == NULL )       /* nombre perdido y toma por defecto el local */  
   {  
     strcpy (nombre, "");  
     sscanf (tok1, "%d", puerto);  
   }  
else  
   {  
     strcpy (nombre, tok1);  
     sscanf (tok2, "%d", puerto);  
   }  
}
 
/*  
*--------------------------------------------------------  
*
 
*    PROTOTIPO:   int cliente ( char* , int )  
*
 
*    DESCRIPCION: implementa el manejo del socket cliente  
*
 
*--------------------------------------------------------  
*/  
Previous page Top Next page
Inicio Última Actualización 2/7/2012 Sugerencias
 
Guía MBA y Masters
Conoce los mejores programas de MBA
Executive MBA y Global MBA