![]() |
TcpServer/TcpClient gehen nicht
Hallo,
So ein Mist bei mir wollen die TcpServer/Client Komponenten nicht verbinden. Delphi: Delphi 2005 (vcl) Komponenten: TTcpServer und TTcpClient. Port: 1000 Code: Server:
Delphi-Quellcode:
Client:
procedure TForm1.FormCreate(Sender: TObject);
begin TcpServer.Active := false; TcpServer.LocalPort := '1000'; TcpServer.Active := true; end; procedure TForm1.TcpServerAccept(Sender: TObject; ClientSocket: TCustomIpClient); begin lblTcpStatus.Caption := 'connected'; ClientSocket.Sendln('connected'); end;
Delphi-Quellcode:
Das ganze bringt aber überhaupt nix :( Keine Fehler, nichts. Wenn ich ne falsche IP eingebe, hängt das Programm ne Weile, bei der richtigen IP (localhost, da läuft der Tcpserver ja) hängt er nicht, das beudetet ja dass er den Server erkannt.
procedure TForm2.cmdConnectClick(Sender: TObject);
begin TcpClient.Close; TcpClient.RemoteHost := eRemoteHost.Text; TcpClient.RemotePort := '1000'; TcpClient.Connect; end; Warum springt der dann nicht ins Accept Ereigniss? Bitte helft mir. MfG |
Re: TcpServer/TcpClient gehen nicht
Welche Indy-Version ist denn das?
Versuch mal LocalPort, bzw RemotePort durch Port und RemoteHost durch Host zu ersetzen. Und müsste beim Server das Ereigniss nicht OnConnect sein :gruebel: |
Re: TcpServer/TcpClient gehen nicht
Zitat:
Beim Server gibts nur folgende Ereignisse: OnAccept OnCreateHandle OnDestroyHandle OnGetThread OnListening |
Re: TcpServer/TcpClient gehen nicht
Ups, sorry, dann kann ich dir wohl leider nicht helfen. Mit denen habn ich noch nichts gemacht.
|
Re: TcpServer/TcpClient gehen nicht
Zitat:
Der Grund warum ich nicht die Indy Kompos verwende ist der, dass ich die neuen Indy 10 nicht mehr verstehe :( Irgendwie fehlt mir nen IdPeerThreadManager oder sowas |
Re: TcpServer/TcpClient gehen nicht
Versuche das ganze nun trotzdem mit dem Indy TCPServer/Client
Soweit geht alles, nur, wie kann ich Strings mit dem IdTcpClient empfangen? :gruebel: Der Server hat ein Ereigniss "OnExecute", der Client hat nichts dergleichen :( Hat sich echt viel verschlechtert in Delphi 2005, schade dass wir nicht bei delphi 7 blieben.. |
Re: TcpServer/TcpClient gehen nicht
SChau mal in den ISDN-Anrufmonitor-Thread, ziemlich zum Schluss. Da hab ich ne Demo gepostet, sowohl als Indy9 als auch als Indy10.
|
Re: TcpServer/TcpClient gehen nicht
Hi,
im Client musst Du um einen String zu empfangen einen Timer einfügen, der dann etwa folgendes enthält: (Bsp in Indy 10)
Delphi-Quellcode:
beim Server sendest du die Anfrage des clients gleich im onexecute zurück...
procedure TForm1.TimerGetMessage(Sender: TObject);
var Msg : String; begin if not TCPClient.Connected then exit; // hier wird der gesendete String ausgelesen Msg := TCPClient.iohandler.ReadLn('', 5); end;
Delphi-Quellcode:
Tschö
procedure TForm1.tcpServerExecute(AContext: TIdContext);
var Msg : String; begin // AnfrageString vom Clienten Msg := AContext.Connection.iohandler.ReadLn; // Antwort als String zum Client schicken if Msg='XYZ' then Aconnection.IOHandler.WriteLn('Meine Antwort'); end; Ralf |
Re: TcpServer/TcpClient gehen nicht
Eine frage, was muss ich tun? damit ich Aconnection benutzen kann?
MFG Damian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz