[Ninux-Wireless] Pacchetti UDP e rcvfrom

ZioPRoTo (Saverio Proto) zioproto a gmail.com
Gio 22 Lug 2010 01:54:50 CEST


Consiglio questa lettura:
http://beej.us/guide/bgnet/output/html/multipage/index.html

nello specifico:
http://beej.us/guide/bgnet/output/html/multipage/advanced.html#select

Saverio


Il 21 luglio 2010 19.05, Filippo Sallemi <tonyputi a gmail.com> ha scritto:
> Ciao ragazzi,
> sto giocherellando un po con C e stavo provando a scrivere un piccolo
> programma che manda pacchetti UDP ad un host solo che ho notato che la
> funzione rcvfrom resta bloccata finchè il server non manda una risposta
> anche vuota.
>
> Parte del codice esegue questo:
>
> read = sendto(sock, str, strlen(str), 0, (struct sockaddr *)&addr,
> sizeof(addr));
>         if (read < 0) {
>             perror("Request error");
>             return -1;
>         }
>
>         read = recvfrom(sock, buffer, MAXLINE, 0, NULL, NULL);
>         if (read < 0) {
>             perror("Read error");
>             return -1;
>         }
>
>         /**
>          * Print results
>          **/
>         if (read > 0) {
>             buffer[read]=0;
>             if (fputs(buffer, stdout) == EOF) {
>                 perror("fputs error");
>                 return -1;
>             }
>         }
>
> Ho provato a usare le fnctl per impostare la socket in modo non bloccante ma
> ottengo solo l'uscita dal programma e nessun invio di pacchetti.
>
> Adesso non è che mi importi tanto avere una risposta dal server e potrei
> ovviare al problema eliminando la parte di codice dove aspetto risposta, ma
> la mia curiosità dal punto di vista didattico rimane.
> Qualcuno saprebbe illuminarmi in qualche modo?
>
> Grazie
>
> Ciao
>
> --
> Filippo Sallemi
>
> _______________________________________________
> Wireless mailing list
> Wireless a ml.ninux.org
> http://ml.ninux.org/mailman/listinfo/wireless
>
>



Maggiori informazioni sulla lista Wireless