begin process at 2012 05 28 19:50:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Réseau / Internet

 > 

Déco câble réseau


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Déco câble réseau

vendredi 4 mars 2005 à 13:12:53 | Déco câble réseau

CyberYul

salut,

J ai développé une appli qui fait office de serveur. Par contre j'utilise une librairie pour toute la partie communication (socket....).
Cette librairie possède une fonction qui me permet de savoir si la session de communication est ouverte.
C est elle qui me pose problème. Si je déco le câble réseau, cette fonction ne le détecte pas immédiatemment (un temps entre 30sec et 3 minutes) pour le détecter.

De meme pour la fonction d'envoi de message: leur fonction me renvoie que le message a bien été envoyé alors quel le cable réseau est déco. Il faut envoyer plusieurs messages  pour que la perte du cable soit déco.

J ai envoyé un mail à la société qui a développé cette librairie...je suis en attente de leur réponse.
Un problème est que le client ne m'envoie un message de présence que toutes les 5 minutes. Dans ces 5 minutes je vais peut être n'envoyé que 3 messages. Mais comme je vous ai dit des messages sont perdus si je retire le cable réseau. Il me faut un autre moyen de détecter immédiatement qu'il n'y a plus de connexion réseau.


Ca fait qq jours que j'essaye de contourner ce problème en détectant moi meme la perte du réseau. Par exemple, Windows le détecte bien dans la barre des tâches avec l'icône réseau. Où trouver cette information ? quelle variable ou quelle fonction le fait ?

J ai essayé IsNetworkAlive du SDK windows mais ca ne marche pas. Quand je retire le cable cette fontion me renvoie toujours uqe la connexino est OK. Le problème vient peut etre du SO_KeepAlive dans SetSockOpt... Mais je n'ai pas accès à tout ca, vu que c'est leur librairie. Je n ai pas accès au source.

Avec la commande netstat on peut voir les services ouverts.  Quand mon serveur et le client communique on voit bien Established...
Quand je retire le cable : ce service reste Established quelques secondes (30sec à 2 minutes) avant de se fermer, ce qui est trop long pour mon application.


Pour résumer, qui peut me dire comment détecter la déconnexion physique ?

MErci pour vos réponses ou mot clé et bravo pour avoir tout lu.
(j étudie une nouvelle piste: mettre un thread pour détecter la connexion, mais je ne sais pas quoi tester :)   )
Julien.






vendredi 4 mars 2005 à 21:01:30 | Re : Déco câble réseau

yserver

Bonjours.
Jai pas de solution directe a te proposé mais une idée a te soumettre

Si le PC perte la connexion sont IP (cable reso debranché), le résultat de ipconfig change imédiatement. Exemple de ipconfig fait imediatemetn avt et apres deconnexion du cable reseau :
C:\D>ipconfig

Configuration IP de Windows

Carte Ethernet Connexion au réseau local :

        Suffixe DNS propre à la connexion  : yserver.xxxx
        Adresse IP. . . . . . . . . . . .  : 10.xxx
        Masque de sous-réseau . . . . . .  : 255.0.0.0
        Passerelle par défaut . . . . . .  :

C:\>ipconfig

Configuration IP de Windows

Carte Ethernet Connexion au réseau local :

        Statut du média . . . . . . . . .  : Média déconnecté


A voir...
bon courrage.

lundi 7 mars 2005 à 08:43:25 | Re : Déco câble réseau

CyberYul

Salut et merci pour l'idée,
Voila où j en suis:
J ai modifié une clé du registre:

Ouvrir l'éditeur de registre (Démarrer, Exécuter, regedit)
Sous le chemin :
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters/
Sous la clef : DisableDHCPMediaSense
Valeur : 0
Unité : Hexadécimal

Grâce à ca la perte de la connexion est détectée de suite si je retire le câble sur le serveur.
(Mais si je retire le cable coté client il faut toujours un certain temps, le serveur est relié sur un hub, ensuite entre ce hub et le client je ne sais pas ce qu'il y a ).




Cette discussion est classée dans : fonction, réseau, librairie, cable, déco


Répondre à ce message

Sujets en rapport avec ce message

question sur le DO et WHILE fonction [ par Enishi ] Bonjour!J'ai commencer à utiliser Borland C++ Builder 6 et je n'arrive pas à faire fonctionner la fonction DO - WHILE.... D'après moi, j'utilise la ma Reseau par cable USB [ par cdryk ] Salut à tous...Je viens faire appel à tous ceux qui seront capable d'expliquer à un newbie en réseau comment faire pour réaliser la chose suivante.Je CoInitialize : librairie Dev-C++ ?? [ par Gendal67 ] Bonsoir,Comme vous pouvez le lire dans le titre, j'ai un pti souci avec CoInitialize()...la fonction existe sous Dev-C++ mais lorsque je l'inclu dans à la recherche d'une librairie réseau ! [ par patoche43 ] Bonjour à tous, je dois faire un projet en C++ (de préférence Visual et sous Windows) avec une grosse partie réseau : Il s'agit d'un jeu de stratégie librairie de fonction [ par greg4 ] est ce que quelqu'un en possede une??? pourriez vous me l'envoyer a ggreg4@caramail.com ou m'indiquer l'URL code FFT image [ par CaMeGave ] Bonjour Je suis a la recherche soit d'une librairie open source, soit d'un code qui me permette de faire des FFT (et FFT inverse) sur des images sous Réseau de neurone à base de fonction radiale [ par AMIR03 ] Salut à tou Liste des PCs sur un réseaux [ par mohdaef ] Bonjour à tous Cela fait un certain temps que je cherche comment je peux lister les ordinateurs se trouvant sur mon réseau. J'ai jeter un ½il aux fon Ressources réseau [ par mohdaef ] Bonjour J'essaye de coder une application portable (Windows/Unix) Je programme en C++ et je dois réaliser une fonction qui permet de lister toute les Cable réseau debranché .. [ par Jeff_Trek ] Bonjour,J'utilise un serveur multiClient socket IP.Je voudrais savoir si il est possible de détecter si un client est déconnecté via debranchement du


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,936 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales