Historique des modifications - Message

Message #5923

Sujet: transfaire de fichier socket :|


Type Date Auteur Contenu
Dernière modification 27-01-2009 04:31:55 Magun
merci wink
j'avais régler pour itéré mais client l'envoie semble bien marcher ^^
maintenant je pense que même avec les fonction de "stdio" cela aurais marcher mais vu que tu ma montré la voie de iostream qui malaire moins chiant je vais opté pour celle-ci smile
    int Seeder: endFile(const char *file)
    {
        int total = 0;
        ifstream myFile(file, ifstream::in | ifstream::binary);

        while(myFile.read (buffer, sizeof(buffer)))
        {
            int  n = 0;
            for (list<SOCKET>::iterator It = SockList.begin() ; It != SockList.end() ; It++)
                n = send(*It,buffer,sizeof(buffer)+1,0);
            total += n;
        }
        return total;
    }

juste qu'a la réception je tombe dans une boucle infinie sans avoirs de fichier enregistré, en regardant iostream de plus près jais crus comprendre qu'il fallait utiliser "ofstream" pour enregistré ... ( jais essayer avec la lic standard du C ses pareille ) je post le code si tu veut voir mais je pense pouvoir men sortir smile

    int Seeder::recvFile(const char *file)
    {
        int total = 0;
        ofstream myFile(file, ofstream::in | ofstream::binary);
        while(1)
        {
            int n = 0;
            for (list<SOCKET>::iterator It = SockList.begin() ; It != SockList.end() ; It++)
                n = send(*It,buffer,sizeof(buffer)+1,0);
            myFile.write(buffer, sizeof(buffer));
            if(n < 0)
                break;
            else
                total += n;
        }
        myFile.close();
        return total;
    }

jais pas essayer un goto a la place du break mais sa devrait marcher le break normalement ....
euh vaut mieu ifstream:: et ofstream:: ou ios::dans option de lecture car il semble que le resulta soit le meme ...
Création du message 27-01-2009 04:25:41 Magun
merci wink
j'avais régler pour itéré mais client l'envoie semble bien marcher ^^
maintenant je pense que même avec les fonction de "stdio" cela aurais marcher mais vu que tu ma montré la voie de iostream qui malaire moins chiant je vais opté pour celle-ci smile
    int Seeder: endFile(const char *file)
    {
        int total = 0;
        ifstream myFile(file, ifstream::in | ifstream::binary);

        while(myFile.read (buffer, sizeof(buffer)))
        {
            int  n = 0;
            for (list<SOCKET>::iterator It = SockList.begin() ; It != SockList.end() ; It++)
                n = send(*It,buffer,sizeof(buffer)+1,0);
            total += n;
        }
        return total;
    }

juste qu'a la réception je tombe dans une boucle infinie sans avoirs de fichier enregistré, en regardant iostream de plus près jais crus comprendre qu'il fallait utiliser "ofstream" pour enregistré ... ( jais essayer avec la lic standard du C ses pareille ) je post le code si tu veut voir mais je pense pouvoir men sortir smile

    int Seeder::recvFile(const char *file)
    {
        int total = 0;
        ofstream myFile(file, ofstream::in | ofstream::binary);
        while(1)
        {
            int n = 0;
            for (list<SOCKET>::iterator It = SockList.begin() ; It != SockList.end() ; It++)
                n = send(*It,buffer,sizeof(buffer)+1,0);
            myFile.write(buffer, sizeof(buffer));
            if(n < 0)
                break;
            else
                total += n;
        }
        myFile.close();
        return total;
    }

jais pas essayer un goto a la place du break mais sa devrait marcher le break normalement ....
euh vaut mieu ifstream:: et ofstream:: ou ios::dans option de lecture car il semble que le resulta soit le meme ...

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
111 invités en ligne
membre en ligne: -
RSS Feed