Historique des modifications - Message

Message #5923

Sujet: transfaire de fichier socket :|


TypeDateAuteurContenu
Dernière modification27-01-2009 04:31:55Magun
merciwink
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-cismile
    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 sortirsmile

    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 message27-01-2009 04:25:41Magun
merciwink
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-cismile
    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 sortirsmile

    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

OptionsLiens officielsCaractéristiquesStatistiquesCommunauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1441 sujets
11339 messages
Dernier membre inscrit: Saidov17
68 invités en ligne
membre en ligne: -
RSS Feed