recv() empfängt mehr Zeiche als es sollte
-
Hi, ich habe mir en kleinen Client zusammengebastelt,dieser Stürtzt aber des öfteren ab weil recv() mehr Zeichen empfängt als es eigentlich sollte.
Ich denke durch den Code versteht ihr besser was ich meine:#define MAX 512 ///irgendwas /// //// /// // char buf[MAX]; int err; err = recv(socket,buf,MAX,0); printf("Empfangene Zeichen: %i\n",err); //Zeigt mir 512 an printf("strlen(buf): %i\n",strlen(buf)); //Zeigt mir an das 535 Zeichen in buf sindWeil 535 Zeichen in buf sind kommt es dann später zu einem buffer overflow.
Ich kann mir einfach nicht erklären was da schief läuft.
-
schonmal was von nullterminierung gehört.
ich kann mir einfach nicht erklären was da schiefläuft, wenn leute mit sockets rumpfuschen obwohl sie nichtmal die einfachsten grundlagen der c programmierung beherschen. was läuft da bloß schief?
-
Ja dann sag mir doch bitte was schief läuft? Und wie ich es behebe?
Deine dummen Antworten kann kein Mensch gebrauchen.
-
hack0r schrieb:
schonmal was von nullterminierung gehört.
Ähh...Lesen?!
-
hat sich erledigt, hab mit programmieren aufgehört.
-
Luigi9 schrieb:
hat sich erledigt, hab mit programmieren aufgehört.
Tönt nach einer sinnvollen Entscheidung.
-
theta schrieb:
Luigi9 schrieb:
hat sich erledigt, hab mit programmieren aufgehört.
Tönt nach einer sinnvollen Entscheidung.
LOLZ.

-
hat sich erledigt, hab mit programmieren aufgehört.
Wegen so was ????
Zeig lieber mal deinen "send()" code

-
@Luigi9: Such im Forum mal nach recv(..), da findest Du massenweise Hilfestellung. Das Problem ist immer dasselbe: recv(..) muss nicht alles auf einmal empfangen, ausserdem ist die null Terminierung nicht immer gegeben.
Simon
-
er sollte einfach das programmieren lernen,sonst wird er nie so ein hack0r wie ich.
-
tr0ll4l4rm

-
das warn anderer hack0r, halt mal die füße still. was pushste diesen mist überhaupt?