IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sybase Discussion :

[CTLIB] Tester si une connection est UP


Sujet :

Sybase

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Par défaut [CTLIB] Tester si une connection est UP
    Je souhaiterais savoir comment tester si une connection est UP, j'ai essayer la fonction ct_poll mais elle ne détecte rien alors que la connection a été tuée

    Merci de votre aide

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Par défaut
    A ma connaissance la seule façon de tester qu'une connexion est UP est d'envoyer une requête...

    On peut aussi tester la condition CS_CONSTAT_DEAD de la connexion:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        ct_con_props(info->connection->connection, CS_GET, CS_CON_STATUS,
    		 &ret, CS_UNUSED, NULL);
     
        RETVAL = ret & CS_CONSTAT_DEAD;
    mais ce status n'est activé qu'après qu'une opération ai échoué.

    Michael

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Par défaut
    En effet ce genre de fonction ne renvoie pas FALSE si une opération n'a pas déjà échoué, merci quand même ;-)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    int isConnected(CS_CONNECTION *connexion)
    {
    	CS_BOOL loginStatus;
    	CS_INT connexionStatus;
         if (ct_con_props(*connexion, CS_GET, CS_LOGIN_STATUS, &loginStatus, CS_UNUSED, NULL) != CS_SUCCEED)
        {
        	printf("ct_con_props CS_LOGIN_STATUS failed\n");
        	fflush(stdout);
        	return 0;
        } 
        if (ct_con_props(*connexion, CS_GET, CS_CON_STATUS, &connexionStatus, CS_UNUSED, NULL) != CS_SUCCEED)
        {
        	printf("ct_con_props CS_CON_STATUS failed\n");
        	fflush(stdout);
        	return 0;
        } 
        return (loginStatus && (connexionStatus == CS_CONSTAT_CONNECTED)); 
    }

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Par défaut
    Est-ce qu'il n'existe pas une opération simple style polling pour se rendre compte de la déconnection ??

    ct_poll ne le permet pas en tout cas...

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Par défaut
    Non - pour voir si la conexion est encore valide il faut envoyer quelque chose, et attendre son retour. La seule façon d'envoyer qqch c'est de faire une requête...

    Il y aurait peut-être la possibilité de faire un appel à ct_options() (p.ex. de positionné le CS_OPT_NUMROWS), mais je n'ai pas vérifié que cela detecte effectivement le cas où la connexion est down.

    Michael

Discussions similaires

  1. Tester si une connection internet est valide
    Par blondelle dans le forum C++Builder
    Réponses: 3
    Dernier message: 19/05/2008, 18h48
  2. [mysqli] tester si une connection est fermée
    Par raoulchatigre dans le forum Administration
    Réponses: 4
    Dernier message: 06/10/2006, 15h00
  3. Savoir si une connection est établie sur un port
    Par Malone dans le forum Web & réseau
    Réponses: 3
    Dernier message: 06/12/2003, 08h22
  4. tester si une date est valide
    Par Andry dans le forum Langage
    Réponses: 5
    Dernier message: 17/09/2002, 11h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo