本资源提供了使用Indy组件库中的TIdTCPClient和TIdTCPServer进行网络通信的示例代码,适用于Delphi或Lazarus开发环境。通过这些实例,开发者可以快速掌握基本的客户端/服务器架构编程技巧,实现跨平台的TCP应用程序开发。
IdTcpClient 和 IdTcpServer 可以用来实现客户端和服务端之间的互相发送消息。下面是一个简单的例程来展示如何使用这两个组件进行通信:
服务器端代码示例:
```pascal
procedure TForm1.IdTCPServerExecute(AContext: TIdContext);
var
DataStr : string;
begin
DataStr := AContext.Connection.IOHandler.ReadLn();
ShowMessage(收到客户端消息: + DataStr);
// 向客户端发送回复信息
AContext.Connection.IOHandler.WriteLn(服务器已接收到您的消息);
end;
procedure TForm1.ButtonStartServerClick(Sender: TObject);
begin
IdTCPServer.Active := True;
end;
```
客户端代码示例:
```pascal
procedure TForm1.IdTCPClientIOHandlerReadln(AContext : TIdContext; AValue : string);
begin
ShowMessage(从服务器收到回复: + AValue);
end;
procedure TForm1.ButtonConnectClick(Sender: TObject);
begin
IdTCPClient.Host := localhost;
IdTCPClient.Port := StrToInt(EditPort.Text);
// 连接到服务器并发送消息
IdTCPClient.Connect;
IdTCPClient.IOHandler.WriteLn(客户端向服务器发送一条信息);
end;
procedure TForm1.ButtonDisconnectClick(Sender: TObject);
begin
IdTCPClient.Disconnect;
end;
```
以上代码展示了如何使用 Delphi 的 Indy 库中的 `IdTcpServer` 和 `IdTcpClient` 组件来创建一个简单的 TCP 客户端和服务器之间的通信程序。