Page 1 of 1

Winsock2 "Recv" liest nie alle Daten

Posted: 19 Aug 2025, 08:48
by Anonymous
Ich versuche, einen großen Datenback mit Winsock2 von meinem Ubuntu-Server (Wein) an meinen Windows-Client zu ü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)
[*] Die Empfangsschleife des Clients startet
[*] Nach dem ersten Recv -Aufruf beträgt Total_Read 77380
Recv gibt nie wieder zurück (keiner>