Zitat von
Aenogym:
hi und herzlich willkommen in der
DP !
Danke
auch danke für die schnelle antwort.
Zitat von
Aenogym:
du kannst ja einen TTimer aufdein formular setzen und den intervall auf 300000 setzen (=300 sek.).
dann musst du irgendwo eine variable deklarieren, die entscheidet, ob der server sich tot stellt, oder nicht. im OnTimer-Event des Timers setzt du die variable dann auf false.
nun, im OnClientConnect-Event des TSocketServers schreibst du:
Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
if dead := true then
socket.close;
end;
damit wird eine gerade geöffnete verbindung sofort geschlossen, wenn dead = true.
alternativ könntest du auch einfach die eigenschaft active des SocketServers auf false setzen und der timer setzt diese iegenschaft nach 300 sek wieder auf true
beide Idee'n sind gut jedoch gefallen mir beide nicht. Das beste wäre wenn er nur für den eine in dieser zeitspanne totermann spielen würde ala:
ServerSocket1.Active := False;
jedoch *nur* für diese eine
IP z.B.
Zitat von
Aenogym:
edit: entferne in deinem obigen code das
serversocket1. vor den statements, damit die socket-variable des events angesprochen wird (sprich: genau die verbindung, die das event auslöst)
Danke dies war die Lösung.
Kleine frage wofür steht dieses 'T' meist davor z.B. TTimer?
--
Gruss blah