Entwickler-Ecke

Internet / Netzwerk - IndyTCP Client soll daten empfangen und auswerten...


NeoXan - Di 01.07.03 20:47
Titel: IndyTCP Client soll daten empfangen und auswerten...
Wie soll das gehen...also ich hab das alles mit den Winsocket Comp. schön hinbekommen, nur jetzt steh' ich ein wenig auf dem Schlauch...

man kann ja mit
AThread.Connections.Writeln('asdf');
z.B. asdf an den Client senden und beim Client mit ClientSocket.Readln; das ganze z.B. lesen...aber wie kann man machen, dass der Client praktisch die ganze Zeit zu hört und z.B. immer das was der Server sendet in ein Memo Feld schreibt? :P

Bin noch etwas neu mit INDY Comp.


Hansi@OMG - Mi 02.07.03 06:43

Dann musst du auf dem Clientprogi die idTCPServer Komponente hernehmen und ihm ins Ereignis onExecute folgendes reinschreiben:

Delphi-Quelltext
1:
memo1.lines.add:=athread.connection.readln;                    


Das Programm, was den String verschickt muss dem zufolge die idTCPClient Komponente haben.


NeoXan - Mi 02.07.03 07:05

habe ich mir auch gedacht...aber wenn der Server (also in dem Fall ich) hinter einem NAT Router sitzt...und der Client irgendwo anders, wird's ja schon wieder schwierig...

Wenn ich Winsockets benutzt klappt es das der Client nur Clients und der Server nur Server hat :(

Wie steht es dazu, wenn man in den Client einen Timer tut, der jede 1/2 Sekunden Readln macht?

Was bedeutet eigentlich Work?


olliistmeinname - Mi 02.07.03 08:09
Titel: code
Das geht auch anders. Du brauchst einen Timer und ein Memofeld dafür.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
try
memo1.text :=IdTCPClient1.ReadLnWait(600)   //Readtimeout 600
except
end;
end;

Jetzt musst du noch den Timer und den Readtimeout eichen.

mfg OLLI