Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C] - write e read con array di interi...

    Salve a tutti!

    come faccio a passare al server un array di interi tramite socket?

    O meglio, credo di esserci riuscito in parte...

    client.c
    codice:
    ...
    
    write(fd, array, dimensione*sizeof(int));
    ...
    server.c
    codice:
    ...
    
    // Legge il vettore dal socket
    if( read(fd, array, dimensione*sizeof(int))<0 )
    {
       perror("Errore di lettura array");
       close(fd);
       exit(1);
    }
    
    ...
    Così funziona solo per interi di una cifra... Se nell'array c'è un numero con 2 o 3 o ... n cifre, al server arriva solo la prima delle n.

    Come posso risolvere?

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Vendono trasmessi byte, non int. (E simmetricamente per la read)
    codice:
    write(fd, (char*)array, dimensione*sizeof(int));
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3
    Originariamente inviato da shodan
    Vendono trasmessi byte, non int. (E simmetricamente per la read)
    codice:
    write(fd, (char*)array, dimensione*sizeof(int));
    Ma è uguale, ho provato come dici tu a mettere il cast, ma non funziona lo stesso, cioè passa solo la prima cifra dell'intero.


  4. #4
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Fai un pò di debug spezzando la read. (Anche perché la read restituisce il numero di caratteri letti)
    codice:
    // Legge il vettore dal socket
    int res = read(fd, (char*)array, dimensione*sizeof(int)); 
    printf("%d\n",res);
    if( res < 0 )
    {
       perror("Errore di lettura array");
       close(fd);
       exit(1);
    }
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  5. #5
    Risolto! Il problema era a monte, cioè nell'acquisizione degli interi. Mi acquisiva solo il primo carattere del numero...

    Grazie!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.