potrebujem urobit aplikaciu server/client kde na server sa poslu nejake data ,ktore sa spracuju a clienti budu nasluchat v urcitych intervaloch ci server nieco neposlal, aj by to mozno fungovalo len keby ten client nezamrzne alebo sa zasekne, ja neviem , poradte prosim co s tym
-v tomto prilkade posle niektory klient nejaky text a server to posle vsetkym s otaznikmi na konci textu
server:
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var s:string;
begin
s:=athread.Connection.ReadLn;
memo1.Lines.Add(s);
sende(s);
end;
procedure tform1.sende(s:string);
var c:integer;
list:tlist;
begin
list:=idtcpserver1.Threads.LockList;
try
for c:=0 to list.Count-1 do
try
if tidpeerthread(list.Items[c]).Connection.Connected then
tidpeerthread(list.Items[c]).Connection.WriteLn(s+' ????');
except
tidpeerthread(list.Items[c]).Stop;
end;
finally
idtcpserver1.Threads.UnlockList;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if not idtcpserver1.Active then begin
idtcpserver1.DefaultPort:=5050;
idtcpserver1.Bindings.Clear;
with idtcpserver1.Bindings.Add do port:=5050;
end;
if not idtcpserver1.Active then idtcpserver1.Active:=true;
end;
client:
procedure TForm1.Button1Click(Sender: TObject);
begin
if not idtcpclient1.connected then begin
idtcpclient1.Host:='127.0.0.1';
idtcpclient1.Port:=5050;
idtcpclient1.Connect;
timer1.Enabled:=true;
end else begin
timer1.Enabled:=false;
idtcpclient1.Disconnect;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var s:string;
begin
if idtcpclient1.Connected then begin
s:=idtcpclient1.ReadLn('',5);
if s<>'' then memo1.Lines.Add(s);
end;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (key=#13) and idtcpclient1.Connected then idtcpclient1.WriteLn(edit1.Text);
end;
delphi indy client
- zixi
- Začátečník

-
- Registrován: 10. pro 2003
- Bydliště: Nitra SR/ BA SR
- Kontaktovat uživatele:
delphi indy client
Gigabyte P35C-DS3R, Q6600@3 GHz, ThermaltakeBigTyphoonVX, 2x2 GB Kingston 1066 MHz, Gigabyte 260 GTX OC, HDD Hitachi 2x250 GB Raid 1, HDD WD 2x320 GB Raid 1, DVDRW LG, Asus Xonar D1, Zdroj Corsair 450W, LCD Samsung 19" 940BW
- zixi
- Začátečník

-
- Registrován: 10. pro 2003
- Bydliště: Nitra SR/ BA SR
- Kontaktovat uživatele: