hi und herzlich willkommen in der
DP !
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
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)
Aenogym