Einzelnen Beitrag anzeigen

luckys41

Registriert seit: 9. Feb 2009
20 Beiträge
 
#1

Namen erscheinen gehen aber nicht weg

  Alt 12. Mär 2009, 18:34
Hey,

Zu meinem Problem, von meiner Nickliste in meinem Chat.

Durch folgenden Code werden die Clients aufgelistet

Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
  var
  voice: OLEVariant;
begin
label1.Caption := ServerSocket1.Socket.Connections[Listbox1.Items.Count].RemoteAddress;
Listbox1.Items.Add(label1.caption);
memo1.Lines.Add('Neuer Client hat sich verbunden : '+label1.caption+' .');
mediaplayer1.FileName := 'Sounds/connect.wav';
mediaplayer1.Open;
mediaplayer1.Play;
end;
Und beim Client so

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if (ClientSocket1.Socket.Connected = false) then begin

ClientSocket1.Active := true;

end

else begin

timer1.Enabled := false;
end;
end;

OnClientdisconnect :

Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
bitbtn2.Click;
listbox1.Items.Clear;
bitbtn2.Click;
ServerSocket1.Active := false;
bitbtn2.Click;
ServerSocket1.Active := true;
bitbtn2.Click;
bitbtn2.Enabled := false;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
SelectedVictim := -1;
Memo1.Lines.Add('Verbindung getrennt mit : '+label1.Caption+' .');
end;
Nur wenn der Client das Programm offen lässt und z.B einfach den Computer herunterfährt, bleibt der Client in der Liste obwohl er garnichtmehr verbunden ist.

Gibt es da noch eine Funktion ala Timeout , oder wie kann mann sich da behelfen?

Mit freundlichen Grüßen,
luckys41
  Mit Zitat antworten Zitat