ciao

sto facendo un porgrammino in ambiente unix che apre una connessione http su un server tramite una socket, fa una richiesta GET e aspetta la risposta, il mio problema è che non so quanti dati aspettare!!!

cioè io non posso sapere a priori quanti dati mi invierà il server, quindi cosa devo fare per restare in ascolto fino a quando il server "non ha finito" di rispondermi?

questo è il codice che uso io ora:

codice:
  struct sockaddr_in  server;
  int                 sockfd;

    sockfd = socket (PF_INET, SOCK_STREAM, 0);
    if (sockfd < 0)
      {
	perror ("socket");
	exit(1);
      }

    bzero ((char*)&server, sizeof(struct sockaddr_in));
    
    server.sin_family = AF_INET;
    server.sin_port = htons(80);
    
    if(inet_aton("127.0.0.1",&(server.sin_addr))==0){
      perror("impostazione indirizzo..");
      exit(1);
    }
    
    if (connect(sockfd, (struct sockaddr *)&server, sizeof(server))) {
      perror("error connecting..");
      exit(1);
    }
    char[] mieidati="GET /";

     if(send(sockfd,mieidati,strlen(mieidati)*sizeof(char),0)<0){
       perror("error sending..");
       exit(1);     
     }

/*
.... come faccio la recv?
*/
       if(close(sockfd)<0){
       perror("error closing..");
       exit(1);
     }
grazie