piccole modifiche

This commit is contained in:
Davide Fiori 2018-01-04 16:59:43 +01:00
parent 13c736e040
commit b7b42264fc
1 changed files with 53 additions and 51 deletions

104
client.c
View File

@ -149,62 +149,64 @@ int main(int argc, char *argv[])
fflush(stdout); //forza la scrittura dei dati bufferizzati sullo stream
return(4);
}
fflush(stdout);
scelta=menu();
if(scelta==0)
messaggio="make\n";
if(scelta==1)
messaggio="sell\n";
if(scelta==2){
scanf("%lf",&prezzo);
messaggio="set price"+prezzo+"\n";
do{
fflush(stdout);
scelta=menu();
if(scelta==0)
messaggio="make\n";
if(scelta==1)
messaggio="sell\n";
if(scelta==2){
scanf("%lf",&prezzo);
messaggio="set price"+prezzo+"\n";
}
if(scelta==3){
scanf("%u",&bitto);
messaggio="buy bitto"+bitto;
}
if(scelta==3){
scanf("%u",&bitto);
messaggio="buy bitto"+bitto;
}
if(scelta==4){
scanf("%u",&farina);
messaggio="buy flour"+farina;
}
}
if(scelta==4){
scanf("%u",&farina);
messaggio="buy flour"+farina;
}
/* scrittura => invio del messaggio al server */
len = strlen(messaggio)+1;
nwrite=0;
printf ("lunghezza messaggio %d write()\n", len);
fflush(stdout);
/* scrittura => invio del messaggio al server */
len = strlen(messaggio)+1;
nwrite=0;
printf ("lunghezza messaggio %d write()\n", len);
fflush(stdout);
while( (n=write(socketfd, &(messaggio[nwrite]), len-nwrite)) >0 )
nwrite+=n;
if(n<0) {
char msgerror[1024];
sprintf(msgerror,"errore operazione di write()[err %d] ",errno);
perror(msgerror);
return(5);
}
while( (n=write(socketfd, &(messaggio[nwrite]), len-nwrite)) >0 )
nwrite+=n;
if(n<0) {
char msgerror[1024];
sprintf(msgerror,"errore operazione di write()[err %d] ",errno);
perror(msgerror);
return(5);
}
printf("stringa spedita: %s\n", messaggio);
fflush(stdout); //forza la scrittura dei dati bufferizzati sullo stream
printf("stringa spedita: %s\n", messaggio);
fflush(stdout); //forza la scrittura dei dati bufferizzati sullo stream
/* lettura della risposta */
nread=0;
printf ("read()\n");
while( (len>nread) && ((n=read(socketfd, &(buffer[nread]), len-nread )) >0))
{
nread+=n; // aggiorna il numero di byte letti
printf("read effettuata, risultato n=%d len=%d nread=%d \n", n, len, nread);
}
if(n<0) // si e' verificato un errore
{
char msgerror[1024];
sprintf(msgerror,"errore in lettura read() [err %d] ",errno);
perror(msgerror); // visualizza la descrizione dell'errore
return(6);
}
/* lettura della risposta */
nread=0;
printf ("read()\n");
while( (len>nread) && ((n=read(socketfd, &(buffer[nread]), len-nread )) >0))
{
nread+=n; // aggiorna il numero di byte letti
printf("read effettuata, risultato n=%d len=%d nread=%d \n", n, len, nread);
}
if(n<0) // si e' verificato un errore
{
char msgerror[1024];
sprintf(msgerror,"errore in lettura read() [err %d] ",errno);
perror(msgerror); // visualizza la descrizione dell'errore
return(6);
}
/* stampa risultato */
printf("stringa ricevuta: %s\n", buffer);
fflush(stdout); //forza la scrittura dei dati bufferizzati sullo stream
/* stampa risultato */
printf("stringa ricevuta: %s\n", buffer);
fflush(stdout); //forza la scrittura dei dati bufferizzati sullo stream
}while(scelta!=5);
/* chiusura socket */
close(socketfd);