Forum: Netzwerke
Delphi
by InfixIterator,
24. Okt 2008
@Roachford socket.sendstream ungleich tmemorystream
Das eine sind Streams von Sockets das andere Streams im Arbeitsspeicher.
(Sockets kommen in dieser Funktion eh nicht direkt vor...)
Der übergebene Stream im Socket mag zwar freigegeben werden, doch wie sieht es in der Funktion aus? :P
(Ich denke die Daten bleiben deswegen im Arbeitsspeicher, da sie nicht sauber gelöscht werden. Erst nach...
Forum: Netzwerke
Delphi
by InfixIterator,
23. Okt 2008
Vielleicht hilft es, wenn du den Memory Stream wieder frei gibst:
result := tmemorystream.create;
Da könnte sich einiges summieren, wenn die Funktion öfter aufgerufen wird.
Du musst auch aufpassen, falls der Handshake nur einmal ausgeführt werden soll, dass die Funktion auch nur einmal aufgerufen wird.
Vielleicht liegt auch ein Fehler in der Prozedur schreibe_string_in_stream immerhin...