Progettare un client in c

  • Autore discussione Autore discussione ccs
  • Data d'inizio Data d'inizio
Pubblicità
allora tu ti trovi dentro la directory ~/progClient

ti devi posizionare nella directory ~

scrivi cd e poi dai invio

scrivi ls e vedi se c'è il file di nome server.


ciao!
 
risposta del server al mio client

No nn c'è! Come faccio? Domani ho l'esame e ancora nn sò fare a caricare un server!
E dire ke l'altra volta ke l'ho caricato x un altro es andava bn!! Nn vorrei avesse kiuso qualcosa x il fatto ke domani c'è l'esame!

Mi sapresti aiutare?

accept() from IP 127.0.0.1
read msg1: '989 Alessandra,Raffoni,0000240469 ' [100]
read msg3: '7'
read msg3: 'message' [7]
elaborato SUPERATO
logged--> 989 Alessandra,Raffoni,0000240469
close()

Ma xkè posso solo inviare:
./client.exe 127.0.0.1 9999 message
?

dove message è il messaggio.

se scrivo ciao guarda ke mi fa:

accept() from IP 127.0.0.1
read msg1: '695 Alessandra,Raffoni,0000240469 ' [100]
read msg3: '4'
read msg3: 'ciao' [4]
check_fallito dimensione del codice del messaggio
check_fallito codice del messaggio
check_fallito -> elaborato non superato: RIPROVA
close()

e se metto una qualsiasi parola di 7 nn message nn va!
 
Alessanda,invia di nuovo il codice del tuo client ;)

Vediamo cosa c'è che non va, prova a vedere con una strina di 3 caratteri e una di 9, ciao!

EDIT:

Inviami il codice in un messaggio privato ;)

Ciao!

Ciao, il codice sembra corretto, hai fatto le prove con una stringa di 3 caratteri e una di nove?

Postami quello che ti dice il server.

Ciao!
 
Salve, sto cercando di dare da un bel pezzo l'esame diretidicalcolatorie non riesco andare mai allo scritto per colpa del client. E adesso voglio capire se dico bene o male. Devono rispondere solo gli esperti grazie.

Quando viene chiesto che il client:

Scrive un intero di X bytes indicando quanti caratteri N spedirà in futuro. N = strlen(messaggio) usare la typedef union.

Io procedo in questo modo:

Prima dichiaro:



typedef union
{
int valore;
char p_valore[4];

}msg_byte;

dentro il main:

int len;

msg_byte N;

len = strlen(messaggio);

N.valore = strlen(messaggio);

write(sd, N.p_valore, 4);

printf("\n\nIl valore e': %d\n", N.valore);


Ma quando devo leggere un'intero di x bytes devo usare sempre la typedef union?

Come devo fare? Uguale ma cambiando write in read opppure?

Grazie cordiali saluti.
Cris
 
Pubblicità
Pubblicità
Indietro
Top