看了下面那段代码吗,IdTCPServer1.Threads.LockList返回的是一个
线程列表,每一个线程表示一个连接,第三个连接就是items[2]。
用线程+循环挺好用的,总比用timer好
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
i : Integer;
aThread : TIdPeerThread;
begin
if Trim(Memo2.Lines.Text) = '' then Exit;
with IdTCPServer1.Threads.LockList do
begin
try
for i := 0 to Count - 1 do
begin
aThread := Items;
aThread.Connection.WriteLn(edNickName.Text + '说:' + Memo2.Lines.Text + #10#10);
end;
Memo1.Lines.Append(edNickName.Text + '说:' + Memo2.Lines.Text);
Memo2.Clear;
finally
IdTCPServer1.Threads.UnlockList;
end;
end;
end;