PDA

Visualizza la versione completa : [C] Socket: Write() e Read() di int[]


SDO
08-11-2011, 00:29
Salve a tutti, sperando di non postare una domanda già fatta, chiedo se qualcuno sappia indicarmi come risolvere questo problema:

Sto realizzando un programma client-server con l'uso delle socket e ad un certo punto il client dovrebbe inviare un array di interi al server, quest'ultimo leggerli ed elaborarli.
Il problema è che qualcosa passa ma non sono esattamente i numeri dell'array del client (indirizzo di memoria dell'array, forse).
Aggiungo anche che sia prima che dopo, ci sono altri scambi di messaggi (per la precisione sempre char[1]) che girano egregiamente.


Ecco parte del codice del client:


int inserisci_sequenza(int socket_id) {
int seq[4];
...... //ottengo i 4 numeri da tastiera
write(socket_id, seq, 4);
......
}


E qui la parte relativa del server:


int leggi_socket(int socket_client) {
int seq_letta[4];
......
read(socket_client, seq_letta, 4);
......
}


Ringrazio chiunque possa aiutarmi!

oregon
08-11-2011, 10:20
La write e la read vogliono il numero di byte trattati. Per 4 interi non sono 4 i byte ...

SDO
09-11-2011, 20:44
Ecco cos'era! Mi sono confuso perché ho usato più volte i char che hanno dimensione 1!
Grazie!

oregon
09-11-2011, 20:45
Originariamente inviato da SDO
Ecco cos'era! Mi sono confuso perché ho usato più volte i char che hanno dimensione 1!

Sì, ma anche perché non hai letto (e riletto) la documentazione sul funzionamento della write/read ...



Grazie!

Prego ...

Loading