【发布时间】:2014-11-30 21:54:38
【问题描述】:
我最近开始使用 Indy 10(来自 Delphi XE3)和 TCP 连接。在您的帮助下(特别感谢 Remy Lebeau),我已经可以构建一个简单的服务器应用程序来管理客户端连接(参见此处Delphi - Simple TCP client / server using Indy to check clients status)。我正在使用列表框来添加连接的客户端。见代码:
procedure TfrmMain.TCPServerConnect(AContext: TIdContext);
var
Host: String;
begin
Host := UpperCase(GStack.HostByAddress(AContext.Binding.PeerIP));
TThread.Queue(nil,
Procedure
begin
ListBox.Itens.Add(Host);
Log('Connected - ' + Host);
With TCPServer.Contexts.LockList Do
Try
StatusBar.Panels[0].Text := 'Connected Clients: ' + IntToStr(Count);
Finally
TCPServer.Contexts.UnlockList;
end;
end
);
end;
现在我正在尝试从服务器向列表中的特定客户端发送“hello”。我的想法是单击以在列表框中选择一个客户端主机名,然后单击一个按钮以发送消息。但我正在研究的是,事情并没有我想的那么容易......
请问,Indy 专家能否指出正确的方向(使用 Indy 10)?
谢谢!
【问题讨论】: