Winsock2 ungewöhnliche Ausgaben nach Datenversand!
-
LØRdSe schrieb:
Was mich stutzig macht:
Alleine dieser Code-Schnipsel produziert unsinnige Ausgaben:Client:
strcpy(file_name, "Hallo!"); send(s, file_name,6,0);Server:
rc= recv(acceptSocket, daten, 6, 0); printf("%s", daten);Da kann doch jetzt nix falsch dran sein!
rc= recv(acceptSocket, daten, 6, 0); daten[rc] = '\0'; // <------------- printf("%s", daten);

-
rc= recv(acceptSocket, daten, 6, 0); daten[rc] = '\0'; // <------------- printf("%s", daten);Das bringt garnix außer ein weiteres kyrillisches Zeichen!
-
Zur Fehlereingrenzugn sende folgendes:
int test; test = send(s, "Hallo!",6,0);und werte erstmal test aus, wenn ok, dann Sender ok, wenn net dann net;
-
Rückgabewert ist mal wieder -1!
Warum?
-
winsock -> http://msdn.microsoft.com/en-us/library/ms741394.aspx
send(..) -> http://msdn.microsoft.com/en-us/library/ms740149.aspx
recv(..) -> http://msdn.microsoft.com/en-us/library/ms740121.aspxGuck doch mal was in der Doku zum return value steht...
Noch ein Hinweis:
Bei recv(..) ist es nicht zwinged so, dass Du alles auf einmal bekommst.
z.B. werden 6 Bytes gesendet, und empfangen werden einmal 4 Bytes und einmal 2 Bytes, das erkennst Du dann am return value.Simon