Hallo, allerseits,
meine Frage bezieht sich auf die Programmierung der Komponente
TTCPServer in
Turbo Delphi.
Im Forum hier und anderswo heisst die Standardempfehlung dann immer:
Lass den Quatsch, nimm doch Indy! - aber fuer die simple Aufgabe, einen String durch die Gegend zu schicken, muss es doch auch eine einfache Loesung geben, oder?
Lediglich im
Swissdelphicenter fand ich ein Stueck Code, mit dem ich startete. Eine recht gute Erklaerung fand ich uebrigens in folgendem (riesenlangen)
PDF, aber die nuetzt leider nichts, weil sie auf den frueheren Komponenten beruht.
Also existierte lediglich obiger Code. Der Client schickt einen String an den Server, und das klappt auch. Der TCPServer bekommt diesen im Objekt ClientSocket mit, welches im Ereignis Accept des Servers uebergeben wird. Damit endet das Beispiel, und es ist IMO falsch!!! Gibt man naemlich ein
netstat -a, so bemerkt man, dass der Client die Verbindung offen hat, und zwar solange, bis ein Timeout das Socket schliesst. Naja, so kann es ja nun auch nicht sein, oder? Und wie bekomme ich eine Rueckmeldung an den Client? Indem der selber auf einem anderen Kanal einen Server oeffnet? Das wuerde doch wohl verboten gehoeren!
Ich habe also ein Objekt des Typs TCustomIPClient, welches auch IP und Port der offenen Verbindung enthaelt, in der Hand, aber es gelingt mir nicht, von diesem eine Verbindung rueckwaerts zum Client aufzubauen.
In der Offline-Dokumentation ist die Komponente TTCPServer ueberhaupt nicht drin

! Dadurch weiss ich nicht, wo der Server seine Clientverbindungen lagert. Auch die Schaffung eines eigenen Arrays, in welchem ich die in Accept gelieferten TCustomIpClient-Objekte verwalte, hat mich nicht allzuviel weitergebracht, aber da habe ich mich vielleicht auch nur dumm angestellt. Eine Menge Ereignisse existieren nicht, u.a. OnError (beim Server)!
Weiss da zufaellig jemand Rat? Auch ein Link auf ein geloestes Beispiel mit TTCPServer reicht voellig, aber irgendwie scheint Turbo Delphi noch zu neu zu sein...
Leicht verzweifelt, im Voraus dankend
ScotsMan