Hallo,
mit:
Delphi-Quellcode:
procedure Tfrm_Server.ServerSocketClientConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
mem_EventLog.Lines.Add('
ClientConnect Handle/IP: ' + IntToStr(Socket.SocketHandle) + '
/ ' + Socket.RemoteAddress);
Socket.SendText('
Hallo');
lbl_ServerIP.Caption := '
IP: ' + socket.LocalAddress;
lb_Clients.Items.add(IntToStr(Socket.SocketHandle) + #9 + Socket.RemoteAddress);
end;
füge ich jeden neuen Client der"ListBox_Clients" hinzu.
mit:
Delphi-Quellcode:
{Close selected Clients}
procedure Tfrm_Server.bu_CloseSelectedClick(Sender: TObject);
var i: integer;
begin
while not (lb_Clients.SelCount = 0) do
begin
for i := 0 to lb_Clients.Count -1 do
begin
if lb_Clients.Selected[i] then
begin
ServerSocket.Socket.Connections[i].Close;
break;
end;
end;
end;
end;
möchte ich die in der Liste selektierten Clients (auch Multiselekt) schließen.
Leider geht das ganze nur wenn 1 Client selektiert ist.
Bei mehreren geht es nicht mehr.
Ich habe schon bemerkt, dass unmittelbar nach:
ServerSocket.Socket.Connections[i].Close;
sich die Anzahl der serversocket.Socket.ActiveConnections nicht verringert.
Was mache ich verkehrt?
Danke......