Einzelnen Beitrag anzeigen

blah

Registriert seit: 3. Sep 2004
Ort: Biel
32 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Text von Server zum Client senden nur on Connect

  Alt 3. Sep 2004, 23:54
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
  Mit Zitat antworten Zitat