Einsteiger brauche Hilfe bei Windows Socket
-
Hi,
ich benutze den Windows Socket für ein kleines Spiel.
Wenn recv einen Wert zurückgibt der größer ist als der Wert den ich als Zielbuffer verwende wie bekomme ich dann die übrigen Daten?
rc = network->recv(buf, sizeof(buf)-1); if(rc == 0) { printf("Server hat die Verbindung getrennt..\n"); break; } if(rc == SOCKET_ERROR) { printf("Fehler: recv, fehler code: %d\n", WSAGetLastError()); break; } if(rc > sizeof(buf)-1) { while (rc > sizeof(buf)-1) { buf[sizeof(buf)] = '\0'; net_start.append(buf); rc = network->recv(buf, sizeof(buf)-1); } } buf[rc]='\0';Stimmt das so einigermaßen oder mache ich da was falsch?
MfG
Scarabol
-
das kann gar ned passieren
-
Wirklich?! Oh son Mist darum hab ich die ganze Zeit diese komische Verhalten?
Kann das noch jemand bestätigen/ weiter ausführen?
MfG
Scarabol
-
Scarabol schrieb:
Oh son Mist darum hab ich die ganze Zeit diese komische Verhalten?
entweder dein 'rc' ist unsigned oder diese funktion 'network->recv()' spinnt.

-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
ok, danke erstma damit ist das Problem auch schon erledigt...
MfG
Scarabol