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

C++ Discussion :

Problème de winsock, bizarre . . .


Sujet :

C++

  1. #1
    Membre confirmé Avatar de Valter
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2008
    Messages : 113
    Par défaut Problème de winsock, bizarre . . .
    Bonjour,
    Voici mon code, très simple...
    Code C++ : 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
    #include <iostream>
    #include <winsock2.h>
     
    #pragma comment(lib, "ws2_32.lib")
     
    using namespace std;
     
    SOCKET sock = socket(AF_INET, SOCK_STREAM, 0);
    SOCKADDR_IN sin;
     
    int main() {
    	if(sock = INVALID_SOCKET)
    		cout << "Unhealthy configuration." << endl;
    	else {
    		sin.sin_addr.s_addr = inet_addr("www.developpez.com");
    		sin.sin_family = AF_INET;
    		sin.sin_port = htons(80);
    		if(connect(sock, (SOCKADDR *)&sin, sizeof(sin)) != SOCKET_ERROR)
    			cout << "Connection to " << inet_ntoa(sin.sin_addr) << " on port " << htons(sin.sin_port) << " is a success." << endl;
    		else
    			cout << "Can't connect to " << inet_ntoa(sin.sin_addr) << ":" << htons(sin.sin_port) << endl;
    	}
     
    	system("PAUSE");
    	return 0;
    }

    Un petit code qui a l'air anodin, hein ?
    Et pourtant il refuse sévèrement de me faire la grace de fonctionner correctement. Lors de chaque tentative, le bougre me met :
    "Unhealthy configuration.".

    Qu'en pensez vous ?
    Merci beaucoup d'avance !

    PS : Je suis sous Visual Studio 2008 Express Edition Et Vista

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Avant tout appel aux socket sous Windows, il faut appeler WSAStartup() pour initialiser la dll
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre confirmé Avatar de Valter
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2008
    Messages : 113
    Par défaut
    Merci mais pourtant quand je fais :
    Code Crash : 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
    #include <iostream>
    #include <winsock2.h>
     
    #pragma comment(lib, "ws2_32.lib")
     
    using namespace std;
     
    int main() {
    	WSADATA WSAData;
    	WSAStartup(MAKEWORD(2,0), &WSAData);
    	SOCKET sock = socket(AF_INET, SOCK_STREAM, 0);
    	SOCKADDR_IN sin;
     
    	if(sock = INVALID_SOCKET)
    		cout << "Unhealthy configuration." << endl;
    	else {
    		sin.sin_addr.s_addr = inet_addr("www.developpez.com");
    		sin.sin_family = AF_INET;
    		sin.sin_port = htons(80);
    		if(connect(sock, (SOCKADDR *)&sin, sizeof(sin)) != SOCKET_ERROR)
    			cout << "Connection to " << inet_ntoa(sin.sin_addr) << " on port " << htons(sin.sin_port) << " is a success." << endl;
    		else
    			cout << "Can't connect to " << inet_ntoa(sin.sin_addr) << ":" << htons(sin.sin_port) << endl;
    	}
     
    	system("PAUSE");
    	return 0;
    }

    C'est la même chose :S

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Regarde mieux cette ligne, il manque une petite chose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(sock = INVALID_SOCKET)
    D'ailleurs en réglant le niveau maximum d'avertissement sur ton compilo tu aurais eu un joli message

  5. #5
    Membre confirmé Avatar de Valter
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2008
    Messages : 113
    Par défaut
    Ah oui lol

    Je me sens comme Mickael Jackson devant la bourse :S

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQL] Problème erreur sql bizarre
    Par baleiney dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 28/06/2006, 12h31
  2. Réponses: 8
    Dernier message: 13/03/2006, 22h31
  3. [Perf/Bug??]9.2.0.1-Problème de performance bizarre.
    Par Le nain Attila dans le forum Oracle
    Réponses: 25
    Dernier message: 07/12/2005, 14h37
  4. Problème socket raw ? bizarre :~
    Par MonsieurAk dans le forum Windows
    Réponses: 2
    Dernier message: 12/07/2005, 14h12
  5. Problème de LINK Bizarre !!
    Par Jasmine dans le forum MFC
    Réponses: 24
    Dernier message: 19/03/2004, 15h58

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