C ++ | TCP - EmpfangenC++

Programme in C++. Entwicklerforum
Anonymous
 C ++ | TCP - Empfangen

Post by Anonymous »

Ich entwickle eine Client-Server-Anwendung in C ++, um eine Bilddatei über eine TCP-Verbindung zu übertragen. Ich habe auf ein Problem gestoßen, bei dem der Client die vollständigen Bilddaten nicht vom Server empfangen soll. Der Client erhält jedoch eine unerwartet kleine Anzahl von Bytes in der ersten Lektüre und bleibt dann auf unbestimmte Zeit auf die verbleibenden Daten. Ausgabe: < /strong>
Die Serverprotokolle geben an, dass die Anforderungen empfangen und die Bildbrocken nacheinander gesendet werden. < /P>

Code: Select all

Request received: img_size...
Image size sent!
Request received: image...
Start sending image.
1024 bytes sent (1)
2048 bytes sent (2)
3072 bytes sent (3)
...
< /code>
[b] Clientausgabe: < /strong>
Der Client empfängt die Gesamtbildgröße korrekt. Während des Bilddatenempfangs ist die Bytezahl jedoch aus dem ersten Paket falsch, und der Vorgang hängt schließlich. < /P>
Get Imagesize: 75186 bytes
(0/75186)
(5/75186)
(80/75186)
...
(16150/75186)
(16227/75186)

Mein primärer Verwirrungspunkt ist, warum die Client berichtet, dass nur 5 Bytes [/b] Nach dem Server das erste 1024-Byte Paket gesendet hat. Empfangen von Logik und Sendungsfunktion des Servers.

Code: Select all

tcp.Send("image");
std::string msg = "";
std::stringstream ss;

while (msg.length() < size_img) {
cout

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post