JoeCotton - Sa 17.12.05 19:17
Titel: Indy Server OnExecute und Thread
Hallo mal wieder...
Ich beschäftige mich zur Zeit mit den Indy Komponenten unter Delphi 7.
Ich hab mir dazu die Demo (Server/Client Basic) reingezogen,
und hab mir auch gleich eine kleine Client/Server Anwendung dazu geschrieben.
Läuft auch einigermaßen, nur hab ich ein paar Fragen...
Wenn ich im OnExecute Ereignis des Servers einen ReadLn und einen WriteLn verwende, also zuerst etwas
lese dann etwas zurücksende dann schmiert mir meine Anwendun ab.
Und zwar passiert das immer dann, wenn ich zwischen beiden Befehlen anderen Sourcecode einfüge.
Hier mein Code.
Bei diesem OnExecute schmiert mir meine Anwendung ab, und ich weiß nicht warum.
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.ServerExecute(AThread: TIdPeerThread); var buf:string; begin memoreceive.lines.Add(athread.Connection.ReadLn); athread.Connection.WriteLn('DataReceived'); end; |
Bei diesem OnExecute funktioniert meine Anwendung.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.ServerExecute(AThread: TIdPeerThread); var buf:string; begin buf:=athread.Connection.ReadLn; athread.Connection.WriteLn('DataReceived'); memoreceive.Lines.Add(buf); end; |
Tja ich hab wie gesagt keine Ahnung, muss aber auch dazu sagen, dass ich mich mit der Behandlung von
Thread nicht so auskenne.
Eine weitere Frage..
Zuwas ist eigenltich die Binding Eigenschaft des Server da.
Kann ich hier den Server nur für eine bestimmte IP und Port-Adresse öffnen,
oder können nur Clients mit einer bestimmte IP connecten???
Wie bekomm ich eigentlich einen Verbinsungsabriss mit??
Muss ich mit meinen Client über einen Timer einen Ping oder ein Signal schicken,
und der Server antwortet oder geht dass auch anders??
Schon mal Danke für die Antworten.
Ach ja, natürlich schöne Weihnachten.
Gruß Joe