AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy-TCP-Commandos und die Replies
Thema durchsuchen
Ansicht
Themen-Optionen

Indy-TCP-Commandos und die Replies

Ein Thema von UweR · begonnen am 7. Okt 2004 · letzter Beitrag vom 8. Okt 2004
Antwort Antwort
UweR

Registriert seit: 15. Mär 2004
Ort: Bad Marienberg
219 Beiträge
 
Delphi 7 Professional
 
#1

Indy-TCP-Commandos und die Replies

  Alt 7. Okt 2004, 14:55
Hallo Leute,

ich bastele mir gerade einen TCPServer zusammen der einfache Kommandos ausführt. Dafür nutze ich die Indy-Kompos mit den CommandHandlern. Das geht ja auch alles was das ausführen des Kommandos betrifft eigentlich ganz gut, nur die Rückantwort des Servers kommt irgendwie nicht richtig beim Client an. Da scheint es so zu sein als wäre da ein verschieber drin.


serverseitig setze ich die Antwort so.
Delphi-Quellcode:
procedure TForm1.IdTCPServer1TIdCommandHandler0Command(
  ASender: TIdCommand);
begin
   ASender.Reply.NumericCode := 2;
   ASender.Reply.Text.Text := 'Text2';
   ASender.Reply.TextCode := 'TextCode';
   ASender.SendReply;
end;
Wenn ich dann so auf der clientseite auslese

Delphi-Quellcode:
      nresult := IdTCPClient1.SendCmd('LogOffUser Terminator reServer', 2);
      Reply := IdTCPClient1.LastCmdResult;
kriege ich als NumericCode "0" und als Text die "2" raus.


Irgendwie habe ich den Verdacht das ich noch irgendwas grundsätzlich falsch mache. Kann mir jemand sagen was?!
Gruß
UweR
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

Re: Indy-TCP-Commandos und die Replies

  Alt 8. Okt 2004, 10:57
Muss das Reply := IdTCPClient1.LastCmdResult; nicht in der Read-Methode deines Clients stehen? Weil er so schnell, wie die beiden Zeilen abarbeitet sind, doch nicht das Ergebnis vom Server erhält, oder?
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
UweR

Registriert seit: 15. Mär 2004
Ort: Bad Marienberg
219 Beiträge
 
Delphi 7 Professional
 
#3

Re: Indy-TCP-Commandos und die Replies

  Alt 8. Okt 2004, 11:41
Hallo Stevie,

dre Client kommt aus der SendCmd-Routine erst dann raus wenn er das Ergebnis empfangen hat oder der Server ihn rausschmeißt. Zumindest ist er bei meinen ersten Versuchen immer dann darin kleben geblieben wenn ich serverseits nicht SendReply aufgerufen habe.
Gruß
UweR
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

Re: Indy-TCP-Commandos und die Replies

  Alt 8. Okt 2004, 12:18
Wie gut, dass ich von RFC überhaupt keine Ahnung habe!
Aber egal, ich hab herausgefunden, dass die Codes mindestens dreistellig sein müssen, sonst gibt's dieses komische Problem, dass er das Ding falsch zerpfückt. Probier mal nen Code von 200 aus.
Übrigens:
- ist NumericCode das gleiche, wie TextCode, wenn sie kompatibel sind... (wenn du NumericCode setzt, wird TextCode gesetzt und umgekehrt)
- kannst du den ReplyCode auch im OI dem CommandHandler zuweisen und der Reply wird automatisch zurückgeschickt (hab's ausprobiert)
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
UweR

Registriert seit: 15. Mär 2004
Ort: Bad Marienberg
219 Beiträge
 
Delphi 7 Professional
 
#5

Re: Indy-TCP-Commandos und die Replies

  Alt 8. Okt 2004, 14:56
Hallo Stevie,

meinen herzlichsten Dank. Wenn der Code allerdings dreistellig sein muß könnten die Hanseln von Indy
aber auch direkt nen dreistelligen Default-wert schreiben.

Zitat:
Wie gut, dass ich von RFC überhaupt keine Ahnung habe!
Da sind wir mal mindestens zu zweit, aber ein bischen mehr an Ahnung ist ja wieder dazugekommen.
Gruß
UweR
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

Re: Indy-TCP-Commandos und die Replies

  Alt 8. Okt 2004, 15:01
Das mit dem dreistelligen Code ist ne inoffizielle Aussage von mir, weil es damit im Gegensatz zu ein und zwei Stellen funktioniert hat!
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
UweR

Registriert seit: 15. Mär 2004
Ort: Bad Marienberg
219 Beiträge
 
Delphi 7 Professional
 
#7

Re: Indy-TCP-Commandos und die Replies

  Alt 8. Okt 2004, 15:17
Antworten die auf diese Weise (Trial and ERROR) entstanden sind habe ich immer noch am liebsten. Ich ziehe die Praxis (etwas funktioniert und keiner weis warum) der Theorie (müßte funktionieren, tuts aber nicht) immer noch vor.
Gruß
UweR
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz