Komplette Datei über Socket versenden über buffer



  • Meine Problemstellung ist. Ich muss ein Datei über Sockets an einen Client versenden.

    Ich weiß wie ich die Datei rüberbekomme "Zeichenweise". Ich möchte es aber mit einem Buffer machen.

    Ich hab mir mal folgendes überlegt.

    char puffer1[512];
    fd=fopen("test.txt","r+b");
    setbuf(fd,puffer1);
    

    Ich hab keine Ahnung wie ich nun die Datei in den Puffer bekomme bzw dann auch gleich häpchenweise verschicke.

    thx 4 Help



  • Du kannst die Datei per fread() stückweise einlesen und anschließend den Puffer an send() übergeben:

    char buf[512];
    FILE* f = fopen("test.txt","r+b");
    while(!feof(f))
    {
      int s = fread(buf,512,1,f);
      send(sock,buf,s,0);
    }
    


  • fread


Log in to reply