PDA

View Full Version : [C] inviare e ricevere strutture con TCP


Blackhawk9
24-10-2017, 17:54
Mi sto esercitando nella programmazione client server in C. Ho da realizzare un programma dove una volta stabilita la connessione tra client e server, il client mi chiede di inserire due stringhe, che invierà tramite una struttura al server.
Sto procedendo così:

//...codice per la connessione tra il client e server...

//lato client

struct stringab {
char a[30];
char b[30];
} ab;


void* abptr = &ab;


printf ("Inserisci prima stringa");
scanf ("%s", ab.a);


printf ("Inserisci seconda stringa");
scanf ("%s", ab.b);



if (send(Csocket, (char*)abptr, sizeof(ab), 0) != sizeof(ab)) {
printf("client-send() sent a different number of bytes than expected");
closesocket(Csocket);
ClearWinSock();
system ("pause");
return 0;
}


Ora dovrebbe chiedermi di inserire le due stringhe, metterle in struttura ed inviarle al server. E' corretto come ho fatto?

Come opero sul server per fare questa operazione?

"Il server riceve le stringhe A e B e le concatena in un'unica stringa C uguale ad “A + B” e la
invia indietro al client, aggiungendo il valore C alla struct inizialmente ricevuta; altrimenti,
se almeno una delle due stringhe A o B è uguale a “quit” il server invia al client la stringa
“bye”."