send funktioniert MIT unabhängiger schleife nicht



  • Hi,
    ich bin gerade ziemlich überfragt,
    ich habe einen Winsock Clienten, der Daten schickt.

    rc=send(client[i], (char *)&packet, packet.size, 0);
    printf("%d    %d", rc, packet.size);
    

    Gebe ich davor etwas in einer Schleife aus, ist rc = -1

    for(i = 0; i < 44 - 6; i++)
    printf("%x %d %c\n", packet.data[i], packet.data[i], packet.data[i]);
    

    Gebe ich es jedoch einzelnd aus, so sind rc und packet.size identisch.

    printf("%x %d %c\n", packet.data[0], packet.data[0], packet.data[0]);
    printf("%x %d %c\n", packet.data[1], packet.data[1], packet.data[1]);
    printf("%x %d %c\n", packet.data[2], packet.data[2], packet.data[2]);
    printf("%x %d %c\n", packet.data[3], packet.data[3], packet.data[3]);
    printf("%x %d %c\n", packet.data[4], packet.data[4], packet.data[4]);
    printf("%x %d %c\n", packet.data[5], packet.data[5], packet.data[5]);
    printf("%x %d %c\n", packet.data[6], packet.data[6], packet.data[6]);
    printf("%x %d %c\n", packet.data[7], packet.data[7], packet.data[7]);
    printf("%x %d %c\n", packet.data[8], packet.data[8], packet.data[8]);
    printf("%x %d %c\n", packet.data[9], packet.data[9], packet.data[9]);
    printf("%x %d %c\n", packet.data[10], packet.data[10], packet.data[10]);
    printf("%x %d %c\n", packet.data[11], packet.data[11], packet.data[11]);
    printf("%x %d %c\n", packet.data[12], packet.data[12], packet.data[12]);
    printf("%x %d %c\n", packet.data[13], packet.data[13], packet.data[13]);
    printf("%x %d %c\n", packet.data[14], packet.data[14], packet.data[14]);
    printf("%x %d %c\n", packet.data[15], packet.data[15], packet.data[15]);
    printf("%x %d %c\n", packet.data[16], packet.data[16], packet.data[16]);
    printf("%x %d %c\n", packet.data[17], packet.data[17], packet.data[17]);
    printf("%x %d %c\n", packet.data[18], packet.data[18], packet.data[18]);
    printf("%x %d %c\n", packet.data[19], packet.data[19], packet.data[19]);
    printf("%x %d %c\n", packet.data[20], packet.data[20], packet.data[20]);
    printf("%x %d %c\n", packet.data[21], packet.data[21], packet.data[21]);
    printf("%x %d %c\n", packet.data[22], packet.data[22], packet.data[22]);
    printf("%x %d %c\n", packet.data[23], packet.data[23], packet.data[23]);
    printf("%x %d %c\n", packet.data[24], packet.data[24], packet.data[24]);
    printf("%x %d %c\n", packet.data[25], packet.data[25], packet.data[25]);
    printf("%x %d %c\n", packet.data[26], packet.data[26], packet.data[26]);
    printf("%x %d %c\n", packet.data[27], packet.data[27], packet.data[27]);
    printf("%x %d %c\n", packet.data[28], packet.data[28], packet.data[28]);
    printf("%x %d %c\n", packet.data[29], packet.data[29], packet.data[29]);
    printf("%x %d %c\n", packet.data[30], packet.data[30], packet.data[30]);
    printf("%x %d %c\n", packet.data[31], packet.data[31], packet.data[31]);
    printf("%x %d %c\n", packet.data[32], packet.data[32], packet.data[32]);
    printf("%x %d %c\n", packet.data[33], packet.data[33], packet.data[33]);
    printf("%x %d %c\n", packet.data[34], packet.data[34], packet.data[34]);
    printf("%x %d %c\n", packet.data[35], packet.data[35], packet.data[35]);
    printf("%x %d %c\n", packet.data[36], packet.data[36], packet.data[36]);
    printf("%x %d %c\n", packet.data[37], packet.data[37], packet.data[37]);
    //bis hier geht die Schleife
    
    printf("%x %d %c\n", packet.data[38], packet.data[38], packet.data[38]);
    printf("%x %d %c\n", packet.data[39], packet.data[39], packet.data[39]);
    printf("%x %d %c\n", packet.data[40], packet.data[40], packet.data[40]);
    

    Also muss es irgendwie an der Schleife liegen...
    Weshalb funktioniert send nicht mehr richtig nach der Schleife?

    Oder habe ich vor Müdigkeit irgendetwas bei der Schleife falsch gemacht/übersehen?



  • Lass dir mal ausgeben, welchen Wert i hat, kurz bevor du auf client[i] zugreifst.



  • Ist das jetzt ernst gemeint, oder willst du den Fehler damit indirekt ausdrücken? 😉

    Stimmt ja, danke ^^

    Das i beträgt nach der Schleife 38..
    Liegt an der Müdigkeit 😛



  • Hallo,
    was sendest du genau und wie Portabel ist das? Ich würde gerne Daten versende, habe jedoch Probleme mit dem Senden von solchen binär(?) Daten. Könntest du da mal etwas mehr Code zeigen? Würde mir SEHR helfen. Danke 🙂



  • OT:
    Wenn du mir deine MSN Adresse geben würdest, könnte ich dir vielleicht helfen. 🙂


Anmelden zum Antworten