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

    C leggere un file e mandarlo scriverlo su una soket

    ciao a tutti è la prima volta ke scrivo in questo forum e volevo sapere se potete darmi una mano....

    ho 1 problema:

    dovrei fare una funzione che legge un file dal disco e la scrive su una soket tutto questo in C.

    grazie anticipatamente a tutti....

  2. #2
    Utente di HTML.it L'avatar di infinitejustice
    Registrato dal
    Nov 2001
    residenza
    Barcelona
    Messaggi
    772
    intanto dovresti dirci se lavori su linux/unix o se sei su windows...
    Live fast. Troll hard.
    Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
    Team Lead @Gameloft Barcelona

  3. #3
    linux... non sapete + o - come si potrebbe fare?
    vi sarei grato anche se potreste postare anche quake codice di esempio...

  4. #4
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Per quel poco che ne so io, il socket è una cosa quindi che deve essere mandata...
    Devi mandarla a qualche indirizzo? Devi mandare l'intero file, come se fosse un allegato??
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  5. #5
    mi sa che c'avete un po di confusione

    una socket è un mezzo di comunicazione ... come fosse un'autostrada

    i dati tu li devi far transitare su rispettando certe regole e strutture per farlo

    nel tuo caso ti devi anche assemblare il veicolo per comunicare da una parte all'altra, ovvero il protocollo di comunicazione tra server e client ed il client e server stesso (ovvero il mittente ed il ricevente del pacchetto che viene trasportato dal veicolo sull'autostrada)

    per riassumere:
    autostrada => socket
    veicolo => protocollo
    mittente => client/server (dipende in quale verso va il veicolo)
    ricevente => client/server (dipende in quale verso va il veicolo)

  6. #6
    si lo so cosa è una soket e + o - come funziona....provo a postare la funzione ke ho fatto io se qualcuno ne sa qualcosa magari la può leggere e correggere.... ve ne sarei grato.....

    void leggiScrivi (char [] nome,ind fdsok)
    {
    //prototipi
    /*
    int open(const char *pathname, int flags)
    int close(int fd)
    ssize_t read(int fd, void * buf, size_t count)
    ssize_t write(int fd, void * buf, size_t count)
    void *malloc(size_t size);

    */

    //Apre il file indicato da pathname nella modalità indicata da flags
    //La funzione ritorna il file descriptor in caso di successo e -1 in caso di errore
    int fd open(& nome, O_RDWR);

    /*void *mallocc alloca la memoria necessaria per contenere size byte;
    restituisce il puntatore alla memoria allocata*/
    int *indbuff=malloc(sizeof(fd));

    /*Cerca di leggere n byte(ultimo parametro) dal file fd al buffer
    ritorna il numero di byte letti in caso di successo e -1 in caso di errore*/
    int nByteRead= read(fd, & indbuff, sizeof(fd));

    /*Scrive n byte(ultimo parametro) dal buffer sul file fdsok
    ritorna il numero di byte scritti in caso di successo e -1 in caso di errore*/
    int nByteWrute= write(fdsok, void & indbuff, sizeof(fd));
    int close(int fd);
    }

    grazie a tutti

  7. #7
    Utente di HTML.it L'avatar di infinitejustice
    Registrato dal
    Nov 2001
    residenza
    Barcelona
    Messaggi
    772
    Innanzitutto devi creare la socket, specificando se lavori in IPv4 o v6 ed il tipo di protocollo di trasporto.

    Dopodichè devi inizializzare la struttura sockaddr_in (indichi indirizzo, porta, ...).

    Quindi ti connetti al server con connect() ed una volta stabilita la connessione effettui le tue operazioni di read() e write().
    Live fast. Troll hard.
    Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
    Team Lead @Gameloft Barcelona

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 © 2024 vBulletin Solutions, Inc. All rights reserved.