[ programmation reseau] -> detecter une connexion

-> detecter une connexion [ programmation reseau] - Programmation

Marsh Posté le 22-08-2001 à 13:03:06    

En c ou c++, qq'1 sait t'il comment je pourrait faire pour determiner au lancement d'un programme si le pc est connecté ou pas?
Merci.

Reply

Marsh Posté le 22-08-2001 à 13:03:06   

Reply

Marsh Posté le 22-08-2001 à 17:13:55    

pymousses a écrit a écrit :

En c ou c++, qq'1 sait t'il comment je pourrait faire pour determiner au lancement d'un programme si le pc est connecté ou pas?
Merci.  




 
Connecter à quoi ? A un LAN via TCP/IP ? ou web ?
Peut-être qu'en pingant un serveur que l'on sait tjs up ?

Reply

Marsh Posté le 23-08-2001 à 01:28:17    

il faut utiliser les fonctions RAS (remote access service) :
 
library : rasapi32.lib
 
#include "ras.h"
bool IsInternetOpen()
{
   RASCONN TRasCon;
   RASCONNSTATUS Tstatus;
     
   DWORD lg;
   DWORD lpcon;
   bool lReturn;
     
   TRasCon.dwSize = 412;
   lg = 256 * TRasCon.dwSize;
   lReturn = false;
     
   if( RasEnumConnections(&TRasCon, &lg, &lpcon) == 0 )
   {
    Tstatus.dwSize = 160;
    RasGetConnectStatus(TRasCon.hrasconn, &Tstatus);
     
    lReturn = ( Tstatus.rasconnstate == 0x2000 );
   }
     
   return( lReturn );
}
 
voila.

Reply

Marsh Posté le 23-08-2001 à 08:06:05    

Mais ça marche pour n'importe quelle connection ? ADSL, CABLE, lan, proxy ??


---------------
SetiCommander, le setiseur à la chaîne ...
Reply

Marsh Posté le 23-08-2001 à 08:13:23    

faut utiliser les fonctions RAS oui mais pas de cette maniere.
la tu prend la premiere connection qui vient
si yen a plusieurs...

Reply

Marsh Posté le 23-08-2001 à 09:34:50    

Bon allez un piti effort et on a un truc qui marche , ok ?


---------------
SetiCommander, le setiseur à la chaîne ...
Reply

Marsh Posté le 23-08-2001 à 11:58:42    

Djedjeridooo a écrit a écrit :

il faut utiliser les fonctions RAS (remote access service) :
 
library : rasapi32.lib
 
#include "ras.h"
bool IsInternetOpen()
{
   RASCONN TRasCon;
   RASCONNSTATUS Tstatus;
     
   DWORD lg;
   DWORD lpcon;
   bool lReturn;
     
   TRasCon.dwSize = 412;
   lg = 256 * TRasCon.dwSize;
   lReturn = false;
     
   if( RasEnumConnections(&TRasCon, &lg, &lpcon) == 0 )
   {
    Tstatus.dwSize = 160;
    RasGetConnectStatus(TRasCon.hrasconn, &Tstatus);
     
    lReturn = ( Tstatus.rasconnstate == 0x2000 );
   }
     
   return( lReturn );
}
 
voila.  




 
Merci. Juste un p'tit q° :  
si bool = false => non connecté, C bien ca ?

Reply

Marsh Posté le 23-08-2001 à 12:17:08    

Ok ca marche. Merci beaucoup didje.
C'est de la balle.
Thank's a lot, et encore ...
@+


---------------
From Pymousses.
Reply

Marsh Posté le 23-08-2001 à 13:21:47    

Regarde ce truc:
http://msdn.microsoft.com/library/ [...] frame=true
 
C'est la fonction que tu cherches.

Reply

Marsh Posté le 23-08-2001 à 13:36:47    

Reply

Marsh Posté le 23-08-2001 à 13:36:47   

Reply

Marsh Posté le 01-09-2001 à 21:12:32    

Cette fonction fonctionne si je me connecte directement par internet explorer. Mais utilisant aol, si j'utilise son navigateur integré, alors la connection n'est jamais detectée!!!!
 
QQ'1 peut t'il trouver une explication à ce phénomène. Et encore mieux me donner une fonction qui marche dans tous les cas (même ave aol).  
 
thank's.


---------------
From Pymousses.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed