• Jueves 14 de Noviembre de 2024, 04:15

Autor Tema:  Problemas Tratamiento De Buffer!  (Leído 1786 veces)

jesusfd

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Problemas Tratamiento De Buffer!
« en: Viernes 17 de Diciembre de 2004, 19:21 »
0
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! :)

CiRRuS

  • Miembro MUY activo
  • ***
  • Mensajes: 218
    • Ver Perfil
    • http://zirrus.es
Re: Problemas Tratamiento De Buffer!
« Respuesta #1 en: Viernes 17 de Diciembre de 2004, 21:52 »
0
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:
Core Dumped
zirrus.es

jesusfd

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: Problemas Tratamiento De Buffer!
« Respuesta #2 en: Sábado 18 de Diciembre de 2004, 11:51 »
0
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:

CiRRuS

  • Miembro MUY activo
  • ***
  • Mensajes: 218
    • Ver Perfil
    • http://zirrus.es
Re: Problemas Tratamiento De Buffer!
« Respuesta #3 en: Sábado 18 de Diciembre de 2004, 22:20 »
0
¿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?
Core Dumped
zirrus.es

CiRRuS

  • Miembro MUY activo
  • ***
  • Mensajes: 218
    • Ver Perfil
    • http://zirrus.es
Re: Problemas Tratamiento De Buffer!
« Respuesta #4 en: Sábado 18 de Diciembre de 2004, 22:23 »
0
Vale, ya vi el nuevo post...

Nos vemos :hola:
Core Dumped
zirrus.es