Announcement

Collapse
No announcement yet.

Den Server warten lassen bis das gesamte Paket vom Client übertragen wurde?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Den Server warten lassen bis das gesamte Paket vom Client übertragen wurde?

    Hallo,

    ich muss gestehen ich hab diese Frage schon in zwei anderen DelphiForen veröffentlicht, aber dort geht man ja scheinbar immer davon aus, dass man schon sonst was für UltraVorwissen hat. Dabei isses manchmal verflucht schwierig an sowas ranzukommen wenn man erst 3 Jahre Informatik inner Schule hat und sich n paar Tutorials durchlässt und auf die dort stehenden Informationen verlässt.

    Mir wurde heute ein Buch von nem Kumpel ausgliehen, vom Herrn Andreas Kosch namens "delphi Win32" Lösungen. Da war ich ja direkt extrem begeistert von, zumal diese OCX Komponenten GENAU DIE Methoden und Propertys haben die ich bei den in Delphi 2005 vorhandenen TClient/TServerSocket bis jetzt vergeblich suche. Habs dann mal gegoogled und bin direkt auf dieses Forum gestoßen hoffe also dass ich hier endlich ne Problemlösung finde =)



    Gut dann aber auch mal zu menem Problem, eigentlich isses ganz simpel. Zwei Programme laufen auf zwei verschiedenen Rechnern, eines fungiert als Client das andere als Server. Der Client soll dem Server ein größeres Datenpaket schicken via Sendbuf.
    Mein Problem: Ich kann das Datenpaket nicht richtig mit dem Server empfangen. Manchmal klappts in einem von 20 Glücksfällen aber ansonsten steht einfach mal gar nichts drin. Also ich verschicke ein selbst definiertes Record, die Strings sind alle auf [10] zechen beschränkt. So da werden dann mehrere Strings und n paar Integers reingehauen, das Record ist von beiden Programmen exakt gleich definiert worden damits beide gleich verstehen.
    Nun sende ich das Paket z.B. mit (a,a,a,1,1) völlig egal erstmal. Dann krieg ich beim Server, wenn ich nen Debug durchführe und der ReceiveBuf Befehl beendet wurde, n paar leere Strings, einer hat dann auch mal ne Adresse die kilometerlang ist, irgendwas kryptisches, und die letzte Zahl kommt korrekt an.

    So nun hab ich mich ja wie gesagt schon beraten lassen und bin so weit gekommen: Da das Datenpaket ja relativ groß ist, muss es in mehreren Teilpaketen beim Server ankommen. Dieser muss also warten bis alle Pakete angekommen sind um sie dann zusammenzusetzen und "zu interpretieren" (das mit dem Interpretieren hab ich bisher noch gar nich verstanden oO).
    Meiin Problem ist auch primär erstmal das warten weil ich einfach mal absolut keine Idee habe wie ich das realiseren soll. Am liebsten würde ich auch mit solchen OnDataArrival Methoden arbeiten, aber sowas finde ich bei den SocketComponents leider nicht.

    Ich würde mich wirklich sehr über n bisschen Hilfe freuen, ich sitze da jetzt seit Sonntag Abend dran und verzweifle langsam, ich bin kein dummer Programmierer, son bisschen was kann ich schon, mein PRoblem war einfach nur bisher dass alle anderen immer angefangen haben in der Mitte zu erklären und ich die Erklärung am Anfang brauche, weil mir bestimmt nur ein kleiner Gedankenfehler unterlaufen ist oder sowas... und ne VOLLSTÄNDIGE exakte Methoden/Eigenschaften ÜBersicht der SocketKomponenten finde ich auf biegen und brechen nicht, ...


    Würde mich sehr über Hilfe freuen ^^

  • #2
    Wenn du zuerst das hier und dann das hier wirklich von der ersten bis zur letzten Zeile durchgearbeitet und verstanden hast, kannstdu dieses Problem selber lösen.

    bye,
    Helmut

    PS: ohne Sourcecode würde ich außerdem zu deiner Frage sowieso nicht sagen können.

    Comment

    Working...
    X