delphi11 IdTCPServer 客户端A向客户端B发送消息 实例
时间: 2023-07-27 08:31:42 浏览: 146
delphi的IdTCPClient和IdTCPServer的Writestring用法
5星 · 资源好评率100%
以下是一个简单的 Delphi 11 IdTCPServer 客户端 A 向客户端 B 发送消息的示例:
```delphi
// 在 IdTCPServer 的 OnExecute 事件中实现客户端通信
procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
var
s: string;
i: Integer;
begin
// 读取客户端发送的消息
s := AContext.Connection.IOHandler.ReadLn;
// 将消息发送给所有连接的客户端(包括发送者)
for i := 0 to IdTCPServer1.Contexts.Count - 1 do
begin
IdTCPServer1.Contexts[i].Connection.IOHandler.WriteLn(s);
IdTCPServer1.Contexts[i].Connection.IOHandler.Flush;
end;
end;
```
在客户端 B 中,需要连接到 IdTCPServer 并读取从客户端 A 发送的消息,示例代码如下:
```delphi
procedure TForm2.Button1Click(Sender: TObject);
begin
IdTCPClient1.Host := '127.0.0.1'; // 服务器地址
IdTCPClient1.Port := 12345; // 服务器端口
IdTCPClient1.Connect;
// 向服务器发送消息
IdTCPClient1.IOHandler.WriteLn(Edit1.Text);
IdTCPClient1.IOHandler.Flush;
// 读取服务器发送的消息
Memo1.Lines.Add(IdTCPClient1.IOHandler.ReadLn);
end;
```
需要注意的是,该示例代码只是一个简单的例子,并没有对客户端 A 和客户端 B 的身份进行验证和区分。在实际应用中,需要根据具体需求进行改进。
阅读全文