Entwickler-Ecke
Internet / Netzwerk - Problem mit Winsock
Geri - Mi 11.01.06 13:43
Titel: Problem mit Winsock
Hallo zusammen
Ich habe in Delphi 2005 ein einfache TCP client- und eine TCP server-Anwendung erstellt. Der Server soll, nachdem der Client daten geschickt hat, die daten verarbeiten und dem Client sofort antworten, indem er ihm ein Datenpaket zurück schickt. In der Zwischenzeit wartet der Client auf die Daten des Serves. Wenn ich die beiden Anwendungen allerdings laufen lasse, dann erhält der Server Daten. Je nachdem der Client aber auf die Daten wartet verändern sich die Daten komischerweise. Gibt es hier evtl. ein Problem mit gemeinsam genutzten Puffer? Ich kann das Problem leider nicht lösen.
wenn ich mit dem Programmm z.B. den Wert 123 schicke dann erhält der Server komischerweise den
input Data vom Server Command: 0 DataLen: 242 Warum??
Wäre nett, falls mir hier vielleicht jemand einen Tipp geben kann wo das Problem liegt. Im Anhang habe ich die abgespeckte Client- und Serveranwendung hineingepackt.
Vielen Dank für Eure Hilfe
Geri
thkerkmann - So 15.01.06 14:58
Hallo,
Versuch doch mal anstelle der festen RecvLength := 6 lieber RecvLength=sizeOf(inData) zu verwenden.
Im Serverprogramm machst Du das ja schon.
Wegen Compileroptimierungen und Alignments kann man nie wissen, wie gross dieser Datenbereich genau ist.
und ebenso für die anderen Längenwerte lieber sizeOf().
Ich kann es leider nicht probieren mangels D2005 - habe nur die personal edition und die hat keine Socket Komponenten.
Gruss
Thomas
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!