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 habitué
    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
    Points : 127
    Points
    127
    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 chevronné

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    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
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

  3. #3
    Membre habitué
    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
    Points : 127
    Points
    127
    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 habitué
    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
    Points : 127
    Points
    127
    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 chevronné

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    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
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

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