SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: jesusfd en Viernes 17 de Diciembre de 2004, 19:21

Título: Problemas Tratamiento De Buffer!
Publicado por: jesusfd en Viernes 17 de Diciembre de 2004, 19:21
Alguien me puede ayudar y decirme porqué no me funciona esto?? :(
    Es una función que procesa un buffer enviado por un cliente mediante telnet. La función forma parte de un servidor, y lo que se supone que hace es guardar cada palabra que va encontrando en el buffer en una variable(hasta un máximo de 3 y luego vemos si no hay ninguna orden más).
el caso es que necesito guardar cada palabra para luego en el programa servidor poder comparar cada una con strcmp,...pero, ¿por qué no me las guarda?¿acaso no lo recibo bien?
void procesaBuffer(int fd,char buforden[ORDSIZE],char orden[5],char arg2[41],char arg3[41]){
   int i,j,k;
   j=0;
   k=0;
   int nbytes=0;

   while(nbytes = recv(fd,buforden,ORDSIZE,0)>0){
      buforden[nbytes]='\0';

   }
   //SI PONGO UN PRINTF("%S",BUFORDEN); AKI, NO ME SALE BUFORDEN EN EL SERVIDOR (ES COMO SI NO LO LEYERA).
   for(i=0;buforden!=' ';i++)
      orden=buforden;
   orden='\0';
   //i=i+1;
   for(j=0,i=i+1;buforden!=' ';i++,j++)
      arg2[j]=buforden;
   arg2[j]='\0';
   //i=i+1;
   for(k=0,i=i+1;buforden!=' ';i++,k++)
      arg3[k]=buforden;
   arg3[k]='\0';
   i=i+1;
   while(buforden!='\0'){
      if(i==' ')
         i++;
      else
         printf("Error en los argumentos\n");
   }
   return;
gracias! :)
Título: Re: Problemas Tratamiento De Buffer!
Publicado por: CiRRuS en Viernes 17 de Diciembre de 2004, 21:52
Si al hacer el printf no te imprime nada en el servidor y es como si no lo leyera, es que la funcion recv es no bloqueante, y si no hay datos que leer no se espera a que lleguen.

Para hacerlo bloqueante o no puedes usar la funcion fcntl, o utilizar la funcion select para comprobar si hay datos para leer durante un determinado periodo de tiempo.

Espero haberte ayudado

Nos vemos :hola:
Título: Re: Problemas Tratamiento De Buffer!
Publicado por: jesusfd en Sábado 18 de Diciembre de 2004, 11:51
gracias, pero de otra forma que lo he hecho, si me imprime los argumentso en el servidor pero no me los guarda bien en variables! .... :huh:
Título: Re: Problemas Tratamiento De Buffer!
Publicado por: CiRRuS en Sábado 18 de Diciembre de 2004, 22:20
¿Y como es esa otra forma que lo has hecho para que vaya bien al imprimir pero que no vaya bien al guardar las variables?
Título: Re: Problemas Tratamiento De Buffer!
Publicado por: CiRRuS en Sábado 18 de Diciembre de 2004, 22:23
Vale, ya vi el nuevo post...

Nos vemos :hola: