Entwickler-Ecke

Internet / Netzwerk - SendText erst nach Aktion


error - Fr 18.10.02 22:35
Titel: SendText erst nach Aktion
Hi,
folgendes Schema:
Client -> Text -> Server (Connection established)
=> Server arbeitet
=> Server -> Text -> Client //Probleme

Das Problem ist, dass wenn ich ein OnClientRead-Event mache um Text zu senden, sendet er den Text bevor das Arbeiten fertig ist. Wie führe ich das schreiben erst aus wenn das Arbeiten fertig ist?


DeCodeGuru - Fr 18.10.02 22:39

wie wäre es denn, wenn du deine "Arbeit" in eine Funktion auslagerst und dann in dem OnClientRead-Ereignis das Ergebnis der Funktion auswertest? Ich kenne jetzt zwar nicht genau deine Problematik, aber es müsste funktionieren.


error - Fr 18.10.02 22:58

Das Problem ist die Funktion verarbeitet empfangene Daten und sendet das Ergebnis. Und wenn ich bei OnClientWrite nur "Socket.SendText(ergebnis)" einfüge, wird nix gesendet da das Ergebnis noch nicht existiert (da noch keine Daten empfangen wurden)

mfg error
ps: kompliziert das ganze :p


DeCodeGuru - Sa 19.10.02 11:07

Hi,

ich kenne - wie gesagt - deine Problematik nicht aber jetzt nun mal folgendes Beispiel:

Also im OnClientRead-Ereignis empfängst du einen Befhel mit Parametern. Ziel ist es, je nach Parametern einen Befhel auszuführen und dann das Ergebnis zurückzusenden. Also, du empfängst deinen Befhel und gehst dann mit ne Case-Verzweigung ran, um zu überprüfen, was das für ein Befehl ist. Je nach Befehl lässt du dann den Befehl ausführen. Also eine Funktion, die True oder False zurückgibt. Als Parameter übergibst du der Funktion den Empfangenden String. So! In der Funktion lässt du dann die Parameter auslesen und machst dann irgendetwas. Wenn die Ausführung erfolgreich war, gibt die Funktion True - wenn nicht, dann False - zurück.

In dem OnClientRead-Ereignis hast du ja deine Case-Verzweigung und in dem entsprechenden Teil machst du dann einfach noch eine If-Abfrage, ob der Befhelö auch ausgeführt wurde. Wenn ja, dann sendest du im OnClientRead-Ereignis einfach mit SendText einen Resultwert.

Ich hoffe du verstehst, was ich meine.


error - Sa 19.10.02 12:00

Fehler:

"Project xxxx raised exception class yyyyy with message 'zzzzzz'.
Process stopped. Use Step or Run to continue."


DeCodeGuru - Sa 19.10.02 14:13

nur ne frage: Was soll ich mit dem Fehler anfangen, wenn ich den Quelltext nicht kenne. Ich galube, dass mir da die anderen User auch zustimmen :wink:

Poste doch einfach mal deinen Quellcode. Vielleicht können wir dir dann helfen.