Entwickler-Ecke
Internet / Netzwerk - [INDY] - TIdTCPServer in einer Konsole?
nabbl - Fr 18.08.06 23:34
Titel: [INDY] - TIdTCPServer in einer Konsole?
Hi! Habe mal wieder ne Frage: Wie kann ich bei ner konsolen-app. und der indy-tcp-server das Ereignis OnExecute initialiseren und nutzen?
Mein Quelltext bisher:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| program Project2;
{$APPTYPE CONSOLE}
uses SysUtils, IdTCPServer;
procedure TCPServerExecute(AThread: TIdPeerThread); begin with AThread.Connection do begin WriteLn('Hello from Basic Indy Server server.'); Disconnect; end; end;
var TCPServer : TIdTCPServer; begin
TCPServer := TIdTCPServer.create(nil); TCPServer.DefaultPort := 8888; TCPServer.Active := True;
end. |
Wie bekomme ich nun aber "TCPServerExecute" zum laufen?
Danke für die Hilfe
Nabbl.
nabbl - Sa 19.08.06 18:11
Ich weiß zwar, dass ich eigtl. warten müsste, aber ich hoffe, dass ich so auf eine Lösung kommen könnte:
Ist meine Frage zu undeutlich formuliert? Oder wisst ihr keine Antwort?
MfG Nabbl
Narses - So 20.08.06 00:11
Moin!
Das wird mit den Ereignissen in einer Konsolenapp auch nicht klappen, weil die keine MessageLoop hat.
Mach einfach eine Fenster-Applikation draus, dann geht´s (das TApplication-Objekt ist der Schlüssel).
cu
Narses
nabbl - So 20.08.06 00:34
Narses hat folgendes geschrieben: |
Moin!
Das wird mit den Ereignissen in einer Konsolenapp auch nicht klappen, weil die keine MessageLoop hat.
Mach einfach eine Fenster-Applikation draus, dann geht´s (das TApplication-Objekt ist der Schlüssel).
cu
Narses |
*grml* wollte das Tool mit CrossKylix für meinen Linux-Server zum laufen bekommen....
nabbl - So 20.08.06 22:15
Also gibt es keine Möglichkeit?
nabbl - Di 22.08.06 23:42
habe ne lösung gefunden:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39:
| program Project2;
{$APPTYPE CONSOLE}
uses idTCPServer, idGlobal;
procedure TCPSExecute(Sender: TObject; AThread: TIdPeerThread); var msg : string; begin With AThread do begin While Connection.Connected do begin msg := Connection.ReadLn; writeln(msg); begin WriteLn('Connected: '); Connection.WriteLn('Erfolgreich eingeloggt!: '+Connection.);
end; end; end; Sleep(200); end;
var TCPS:TidTCPServer; M: TMethod; begin TCPS:=TidTCPServer.Create(nil); TCPS.DefaultPort:=8008; TCPS.Active:=True; M.Code := @TCPSExecute; M.Data := @TCPS; TCPS.OnExecute := TIdServerThreadEvent(M); While true do begin Sleep(10); end; end. |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!