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

MFC Discussion :

Wininet.h -> Ping?!


Sujet :

MFC

  1. #1
    Membre �clair�
    Avatar de Zenol
    Homme Profil pro
    �tudiant
    Inscrit en
    Novembre 2004
    Messages
    812
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 35
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 812
    Par d�faut Wininet.h -> Ping?!
    Bojour a tous, je travaille actu�lement sur la modification d'un logiciel open source, et je voudrais rajouter un ping.
    Je voudrais savoir si il y a un moyen simple de faire un ping sur une adresse d'un serveur. Voici c que j'ai fait :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    /******************************************
    *                PING                     *
    *******************************************/
    int get_ping(char * serv,int port)
    {
    	HINTERNET LinkOpen = InternetOpenA("Agent",
    		INTERNET_OPEN_TYPE_PRECONFIG,
    		NULL, NULL, 0
    		);
    	HINTERNET LinkConnection = InternetConnectA(LinkOpen,
    		serv,
    		port,
    		NULL, NULL,
    		INTERNET_SERVICE_HTTP,
    		0, (DWORD)NULL
    		);
     
    	if(!LinkConnection)
    	{
          return -1;
    	}
     
    	HINTERNET Request = HttpOpenRequestA(LinkOpen,
    		"GET",
    		"GET /index.php HTTP1.1",
    		NULL, NULL,
    		(const TCHAR**)"*/*\0",
    		0, NULL
    		);
     
    		DWORD ContentLen, BufLen = sizeof(DWORD);
     
        if(HttpQueryInfo(Request, HTTP_QUERY_CONTENT_LENGTH | HTTP_QUERY_FLAG_NUMBER, (LPVOID)&ContentLen, &BufLen, 0))
    	{
    		//next is allocating the needed memory
    		LPSTR TxtData = (LPSTR)GlobalAlloc(GMEM_FIXED, (ContentLen + 1) * sizeof(char));
     
    		if(NULL == TxtData)
    			PostError(TRUE, "Failed to allocate memory.");
     
    		DWORD TxtBytesRead;
    		//read the file into pPatch2TxtData
    		InternetReadFile(Request,
    			TxtData,
    			ContentLen,
    			&TxtBytesRead);
    		InternetCloseHandle(Request);
    		Request = NULL;
    		std::ofstream logvar("cerr.txt");
    		logvar << "TxtData = " << TxtData << "\n";
    		logvar << "TxtBytesRead = " << TxtBytesRead << "\n";
    	}
    	else{return -2;}
    }
    Et bien sure sa me renvoi une �reur O_o
    La valeur -2 pour pr�siser.
    Mes articles D�veloppez | Dernier article : Raytracer en haskell
    Network library : SedNL | Zenol's Blog : http://zenol.fr

    N'oubliez pas de consulter la FAQ et les cours et tutoriels.

  2. #2
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    c'est ton httpopenrequest qui n'est pas bon

    tu devrais trouver ton bonheur par ici http://www.codeproject.com/info/sear...10%2F31%2F2005

  3. #3
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    ou sinon, tu peux utiliser les fonctions de ICMP.DLL, genre IcmpCreateFile et IcmpSendEcho

    ou alors, du cot� de GetRTTAndHopCount

  4. #4
    Membre �clair�
    Avatar de Zenol
    Homme Profil pro
    �tudiant
    Inscrit en
    Novembre 2004
    Messages
    812
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 35
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 812
    Par d�faut
    D�soler je conais pas du tout, j'ai pour habitude de ne jamais programmer seulement pour windows :
    Et maleureusement je ne parle/lis pas anglais :'(

    Esque qu'il y aurais un site qui d�crit les fonctions que j'utilie? Car en fait je fait un peut a l'aveugle en me cervan du code originale du programme(le ode qui ser a t�l�charger es fichier).
    Mes articles D�veloppez | Dernier article : Raytracer en haskell
    Network library : SedNL | Zenol's Blog : http://zenol.fr

    N'oubliez pas de consulter la FAQ et les cours et tutoriels.

  5. #5
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    d'un autre cot�, les fonctions que tu cites plus haut sont issues de l'API Windows ... (comme InternetOpenA, ou HttpOpenRequestA, etc ...)

    Si tu veux quelque chose de g�n�rique, il va te falloir utiliser les m�thodes du C

    d'ailleurs, j'ai pas trop regard�, mais je crois que c'est ce qui est fait ici : http://www.codeproject.com/internet/winping.asp

Discussions similaires

  1. API r�seau multi plates-formes style Wininet/Winsock
    Par jmmolina dans le forum D�veloppement
    R�ponses: 6
    Dernier message: 22/10/2003, 14h31
  2. Envoyer un ping
    Par CultOfTheShade dans le forum C
    R�ponses: 6
    Dernier message: 24/07/2003, 18h25
  3. Ping sous protocole TCP (et non UDP)
    Par ovdz dans le forum D�veloppement
    R�ponses: 2
    Dernier message: 19/06/2003, 14h10
  4. Ping de broadcast sous Windows
    Par ovh dans le forum D�veloppement
    R�ponses: 10
    Dernier message: 09/05/2003, 18h40
  5. ping sur un port
    Par Neo41 dans le forum D�veloppement
    R�ponses: 3
    Dernier message: 21/01/2003, 01h42

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