procedure TForm1.Button1Click(Sender: TObject); //连接按钮
begin
IdTCPClient1.Host:='127.0.0.1';
IdTCPClient1.Connect;
end;
procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);
begin
Memo1.Lines.Add('有用户连接');
end;
procedure TForm1.Button2Click(Sender: TObject); //发送按钮
var
sm:TStringStream;
msize:Integer;
begin
sm:=TStringStream.Create('大家好');
msize:=sm.Size;
Memo1.Lines.Add('发送时流大小为:'+inttostr(msize));
IdTCPClient1.WriteInteger(msize);
IdTCPClient1.WriteStream(sm);
sm.Free;
end;
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
s:string;
sm:TStringStream;
msize:integer;
begin
sm:=TStringStream.Create('');
msize:=AThread.Connection.ReadInteger();
Memo1.Lines.Add('接收到的大小为:'+inttostr(msize));
AThread.Connection.ReadStream(sm,msize);
Memo1.Lines.Add(sm.DataString);
sm.Free;
end;
begin
IdTCPClient1.Host:='127.0.0.1';
IdTCPClient1.Connect;
end;
procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);
begin
Memo1.Lines.Add('有用户连接');
end;
procedure TForm1.Button2Click(Sender: TObject); //发送按钮
var
sm:TStringStream;
msize:Integer;
begin
sm:=TStringStream.Create('大家好');
msize:=sm.Size;
Memo1.Lines.Add('发送时流大小为:'+inttostr(msize));
IdTCPClient1.WriteInteger(msize);
IdTCPClient1.WriteStream(sm);
sm.Free;
end;
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
s:string;
sm:TStringStream;
msize:integer;
begin
sm:=TStringStream.Create('');
msize:=AThread.Connection.ReadInteger();
Memo1.Lines.Add('接收到的大小为:'+inttostr(msize));
AThread.Connection.ReadStream(sm,msize);
Memo1.Lines.Add(sm.DataString);
sm.Free;
end;
本文介绍了一个使用Delphi实现TCP客户端与服务器间通信的基本示例。包括客户端连接服务器、发送字符串消息及服务器接收并显示消息的过程。客户端通过TCP协议连接到本地服务器,并发送固定字符串“大家好”。服务器接收该消息并将其显示在Memo组件中。

3312

被折叠的 条评论
为什么被折叠?



