[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