Problem beim versenden grösserer Dateien über StreamSocket Verbindung.



  • Hallo
    Ich habe folgendes Problem. Ich habe eine Client/Server Anwendung geschrieben und möchte nun Dateien auslesen und an den Server schicken. Das auslesen der Datei und das senden an den Server funktioniert auch wunderbar aber wenn die Datei etwas größer ist (> 0.5 MB) dan sendet die Funktion send(...) nicht mehr alle daten. Es wird aber auch kein Fehler gemeldet.
    Hat schon mal jemand diese Problem gehabt oder kann mir hierbei weiterhelfe?

    Vielen Dank schon mal für alle Hinweise.



  • MyQuarks schrieb:

    Hallo
    Ich habe folgendes Problem. Ich habe eine Client/Server Anwendung geschrieben und möchte nun Dateien auslesen und an den Server schicken. Das auslesen der Datei und das senden an den Server funktioniert auch wunderbar aber wenn die Datei etwas größer ist (> 0.5 MB) dan sendet die Funktion send(...) nicht mehr alle daten. Es wird aber auch kein Fehler gemeldet.
    Hat schon mal jemand diese Problem gehabt oder kann mir hierbei weiterhelfe?

    Vielen Dank schon mal für alle Hinweise.

    send muss nicht alles senden. Es gibt dir die Anzahl der gesendeten Bytes zurück. Für den Rest rufst du send erneut auf.

    void send_buffer(int fd, void const * msg, size_t len, int flags)
    {
      while (len > 0) {
        int ret = send(fd, msg, len, flags);
        if (ret < 0); /* Error handling */
        msg += ret;
        lne -= ret;
      }
    }
    

Anmelden zum Antworten