Winsock2 "Recv" liest nie alle Daten

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Winsock2 "Recv" liest nie alle Daten

by Anonymous » 19 Aug 2025, 01:38

Guten Abend Jungs, < /p>
Ich habe ein kleines Problem, das ich wirklich nicht hinter mich bringen kann. Ich versuche, einen großen Datenbetrag mit Winsock2 von meinem Ubuntu-Server (auszuführen) an meinen Windows-Client übertragen.int expected_length = 0;
recv(m_Socket, (char*)&expected_length, 4, 0);

if (expected_length
send(client_sock, (const char*)&nsize, 4, 0);
int total_sent = 0;
const char* ptr = buffer.data;
while (total_sent < nsize)
{
int rest = nsize - total_sent;
int chunk = std::min(4096, rest);

int sent = send(client_sock, ptr + total_sent, chunk, 0);
if (sent < 0)
break;

std::cout
Der Server sendet alle Daten korrekt in Chunks (gesendet: 3424, Total_Sent: 1005436) < /li> the sclapt: 1005436). "erwartete_length" (1008860) < /li>
Die Empfangsschleife des Kunden startet < /li>
Nach dem ersten Aufruf von Recv ist Total_read 77380 < /li>
recv wird nie wieder zurückgegeben (kein Fehler geworfen. (Entschuldigung für den unordentlichen Code)

Top