一、 procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread); begin AThread.Connection.WriteLn('Welcome to My demo'); end; procedure TForm1.IdTCPClient1Connected(Sender: TObject); var str:string; begin str:=idtcpclient1.ReadLn(); memo1.Lines.Add(str); end; 二、 1、 procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread); var cmd:string; begin cmd:=athread.Connection.ReadLn(); athread.Connection.WriteLn(cmd); end; //这是客户端发送信息的按钮事件 procedure TForm1.Button5Click(Sender: TObject); var s:string; temp:string; begin s:='服务器,你好'; IdTCPClient1.WriteLn(s); temp:=IdTCPClient1.Readln; showmessage('服务器说:'+temp); end;2、 //服务器发送按钮,t 可以在IDTCPSERVER1EXCEUTE中赋值 procedure TForm1.Button6Click(Sender: TObject); var i:integer; begin for i:=0 to idtcpserver1.Threads.LockList.Count-1 do begin if TIdPeerThread(idtcpserver1.Threads.LockList.Items[i]).Connection.LocalName:=t then TIdPeerThread(idtcpserver1.Threads.LockList.Items[i]).Connection.WriteLn('server call you '); end; end; //客户端接收按钮,可以转换为单独线程来处理 procedure TForm1.Button7Click(Sender: TObject); var a:string; begin a:=idtcpclient1.ReadLn; memo1.Lines.Add(a); end;
个人认为
CLIENT接收SERVER信息的情况
一、CLIENT发信息给SERVER,SERVER返回信息给你
二、SERVER 发信息给CLIENT
1、CLIENT连接上SERVER时,SERVER发送的提示信息
2、因业务需要SERVER主动发信息给CLIENT
procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);
begin
AThread.Connection.WriteLn('Welcome to My demo');
end;
procedure TForm1.IdTCPClient1Connected(Sender: TObject);
var str:string;
begin
str:=idtcpclient1.ReadLn();
memo1.Lines.Add(str);
end;
二、
1、
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var cmd:string;
begin
cmd:=athread.Connection.ReadLn();
athread.Connection.WriteLn(cmd);
end;
//这是客户端发送信息的按钮事件
procedure TForm1.Button5Click(Sender: TObject);
var
s:string;
temp:string;
begin
s:='服务器,你好';
IdTCPClient1.WriteLn(s);
temp:=IdTCPClient1.Readln;
showmessage('服务器说:'+temp);
end;2、
//服务器发送按钮,t 可以在IDTCPSERVER1EXCEUTE中赋值
procedure TForm1.Button6Click(Sender: TObject);
var i:integer;
begin for i:=0 to idtcpserver1.Threads.LockList.Count-1 do
begin
if TIdPeerThread(idtcpserver1.Threads.LockList.Items[i]).Connection.LocalName:=t then
TIdPeerThread(idtcpserver1.Threads.LockList.Items[i]).Connection.WriteLn('server call you ');
end;
end;
//客户端接收按钮,可以转换为单独线程来处理
procedure TForm1.Button7Click(Sender: TObject);
var a:string;
begin
a:=idtcpclient1.ReadLn;
memo1.Lines.Add(a);
end;