CSocket.Receive
-
hi!
wie kann ich alles receiven? d.h. das ich nicht eine bestimmte länge angeben muss.
wenns nicht geht dann:
wenn ich jetzt z.b. char buffer[1000]; mache aber den receive ist nur 700 kommen so ranzige zeichen, wie bekomm ich die weg?
danke im voraus!
-
Hi
Wie wärs wenn du zuerst den Speicher leerst bevor du deine Daten empfängst? Dann sind nämlich auch die komischen Zeichen weg wenn du nur 700 Zeichen empfängst!
Das machst du mit memset! memset(pZeiger, '\0', sizeof(pZeiger);
Um Alles zu Receiven würd ich sagen codest du ein protokoll. Da sendet der Client oder server zuerst die Länge die für die Daten die kommen benötigt werden und dann allokierst du den Speicher. Der Client oder Server sendet OK und dann sendet der Client oder Server die Daten!
C++M@n
[ Dieser Beitrag wurde am 20.08.2002 um 19:02 Uhr von C++M@n editiert. ]
-
Du bekommst doch durch Receive die Länge der Daten geliefert, oder täusch ich mich?
D.h. du kannst einfach sagen: buffer[nReceiveLen]=NULL;
Dann wird der rest abgeschnitten.