View Single Post
Old 02-07-2014, 13:56   #8
aeroxr1
Senior Member
 
Iscritto dal: Mar 2006
Messaggi: 2056
Intanto grazie per le risposte Siete gentilissimi
in sostanza voi fareste una cosa del genere (ditemi se ho capito bene) :

client:

char usernameC[250];
printf("Inserisci il tuo nome: ");
scanf("%s",usernameC);
length=strlen(usernameC);
(non capisco il problema dell'endianess, tanto essendo una grandezza interpretata dall'host non posso lasciarla direttamente in formato host ? senza usare htonl e dopo viceversa ? )
poi con le funzioni per le stringhe collegarci lo usernameC in una cosa del genere (pacchetto=0010usenameC)

send(sd,&pacchetto,sizeof(pacchetto),0);

Il problema lato client è quando faccio la recv che allora devo aver capito male come funziona.. In pratica questa va a leggere dal buffer del socket giusto ? e qui ci sarà 0010usernameC , io mi prendo i primi 4 byte leggo quanti byte devo ricevere ancora e faccio la recv dello usernameC con la lunghezza presa precedentemente ?

In questa maniera in effetti sarebbe sempre chiaro quanti byte devo ricevere ogni volta . Ho capito bene ?

(chiaramente ci devono essere le gestioni di ricezione e invio di un numero minore di pacchetti quindi ci sarà da reinviare e o ricevere la restante parte )
aeroxr1 è offline   Rispondi citando il messaggio o parte di esso