Tester l'état d'un TClientSocket avec un timer ?

Awaking Messages postés 18 Date d'inscription jeudi 19 août 2004 Statut Membre Dernière intervention 23 mai 2005 - 3 déc. 2004 à 19:28
MoveX Messages postés 230 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 16 juillet 2005 - 4 déc. 2004 à 00:24
Comment est ce que je pourrais tester l'état de connexion c'un TClientSocket avec un timer qui vérifie toutes les 10 ms l'état de la connexion du timer...
Un peu comme ca mais en mieux

procedure TForm1.timerTimer(Sender: TObject);
begin
If tcpclient.Socket.Connected = true then
statusbar1.Panels.Items[1].Text := 'connected';
If tcpclient.Socket.Connected = false then
statusbar1.Panels.Items[1].Text := 'not connected';
end;

4 réponses

MoveX Messages postés 230 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 16 juillet 2005 1
3 déc. 2004 à 19:52
il y a pas un client qui peut afficher le status?
0
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
3 déc. 2004 à 20:01
10ms c abusé, toutes les 2 ou 5 voire meme 10 à 30 secondes c deja bien, si tu veux du rapide: 1seconde alors mais mets pas moins c inutile.
le code est bien, juste une ligne a virer et ça donne ça :

procedure TForm1.timerTimer(Sender: TObject);
begin
If tcpclient.Socket.Connected = true then
statusbar1.Panels.Items[1].Text := 'connected'
else
statusbar1.Panels.Items[1].Text := 'not connected';
end;

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)

-------------------------------------------
http://diabloporc.free.fr : mon site refait ! Delphi power !
0
Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
3 déc. 2004 à 20:07
salut Awaking,

pourquoi n'utilises-tu pas les Evenements à cette effet du composant TTCPClient

procedure TWndMain.TcpClient1Connect(Sender: TObject);
begin
  statusbar1.Panels.Items[1].Text := 'connected';
end;

procedure TWndMain.TcpClient1Disconnect(Sender: TObject);
begin
  statusbar1.Panels.Items[1].Text := 'not connected';
end;


Bonne Prog, ;)

Olivier

PS : Lorsqu'une réponse vous convient, n'oubliez pas de la valider.
0
MoveX Messages postés 230 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 16 juillet 2005 1
4 déc. 2004 à 00:24
je sais qu en VB, il y a une variable propre au socket qui affiche le status, style Socket.status = "open". ca fait tres longtemps que j ai pas vu de VB donc, soyez gentils...
il y a pas la meme chose en delphi?
de facon a ce que toutes les secondes, tu demandes dafficher seulement le status du socket plutot que de tester les possibilites...
0
Rejoignez-nous