我希望在TIdTCPServer
套接字组件上使用多个绑定将数据发送到多个不同的客户端。我可以成功创建绑定并为每个端口分配一个不同的端口号。这里是我的代码来创建绑定:如何使用Indy组件从具有多个绑定的IDTCPServer套接字发送
IdTCPServer1.Active := False;
IdTCPServer1.Bindings.Clear;
{create the new sockets}
for i := 0 to NumberOfItemsSpin.Value-1 do
begin
IdTCPServer1.Bindings.Add;
IdTCPServer1.Bindings.Items[i].Port := StartingPortSpin.Value+i;
end;
SocketsCreatedCount := IdTCPServer1.Bindings.Count;
Timer1.Enabled := SocketsCreatedCount > 0;
IdTCPServer1.Active := True;
客户端知道IP地址和端口来连接,并能够成功连接。但是,我需要异步根据某些事件发送数据到任何一个连接的客户端。
我知道我可以检测到OnExecute
事件,得到Context
并回复,但我的服务器套接字需要异步工作。它不会被客户端调查。
我知道连接信息中的客户端IP地址和端口号。但是,我找不到将数据发送到特定客户端的方法。如何使用组件正确映射绑定并将数据发送到正确连接的客户端?