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 compilation (socket)


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Novembre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2007
    Messages : 65
    Points : 53
    Points
    53
    Par défaut problème de compilation (socket)
    #include <winsock2.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <windows.h>

    #define IP "127.0.0.1"
    #define PORT 2000

    void color(int couleurDuTexte,int couleurDeFond)
    {
    HANDLE H=GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(H,couleurDeFond*16+couleurDuTexte);
    }


    int main(void)
    {
    int error;

    color(0,15);
    puts(" <[ Client Bad_Day ]>\n\n");
    WSADATA WSAData;
    WSAStartup(MAKEWORD(2,0), &WSAData);

    SOCKET sock = sock = socket(AF_INET, SOCK_STREAM, 0);
    if( sock != INVALID_SOCKET )
    {
    color(2,0);
    printf(":-) Socket %d is new opened in TCP/IP mode.\n",sock);

    SOCKADDR_IN sin;
    sin.sin_addr.s_addr = inet_addr(IP);
    sin.sin_family = AF_INET;
    sin.sin_port = htons(PORT);

    error = connect(sock, (SOCKADDR *)&sin, sizeof sin);
    if( error != SOCKET_ERROR )
    {
    char bufferSend[50];
    char bufferRecv[50];
    int go = 1;

    color(2,0);
    printf(":-) Connected to server...\n\n");
    do
    {
    color(9,0);
    printf("<<<< CLIENT DIT: ");
    fgets(bufferSend, sizeof bufferSend, stdin);
    error = send(sock, bufferSend, strlen(bufferSend), 0);
    color(7,0);
    printf("\n...................Attente de la reponce du serveur (passiontez svp)....\n\n");
    if(error == SOCKET_ERROR) go = 0;

    error = recv(sock, bufferRecv, sizeof(bufferRecv)-1, 0);
    if(error == SOCKET_ERROR) go = 0;
    else
    {
    bufferRecv[error] = '\0';
    color(12,0);
    printf(">>>> SERVER DIT: %s\n",bufferRecv);
    }
    }
    while (go);

    color(1,0);
    printf("::::: send imposible, closing socket...\n");
    closesocket(sock);
    printf("::::: Socket %d is new closed.\n",sock);
    }
    else
    {
    color(4,0);
    printf(":-/ Not connected ! connection failure.\n");
    return EXIT_FAILURE;
    }
    }
    else
    {
    printf(":-/ Invalid Socket. Socket is not opened.\n");
    return EXIT_FAILURE;
    }


    WSACleanup();
    color(7,0);
    system("pause");
    return EXIT_SUCCESS;
    }

    Voici les erreurs de compilation:


    [Linker error] undefined reference to `WSAStartup@8'
    [Linker error] undefined reference to `socket@12'
    [Linker error] undefined reference to `htonl@4'
    [Linker error] undefined reference to `htons@4'
    [Linker error] undefined reference to `bind@12'
    [Linker error] undefined reference to `listen@8'
    [Linker error] undefined reference to `accept@12'
    [Linker error] undefined reference to `recv@16'
    [Linker error] undefined reference to `send@16'
    [Linker error] undefined reference to `shutdown@8'
    [Linker error] undefined reference to `closesocket@4'
    [Linker error] undefined reference to `closesocket@4'
    [Linker error] undefined reference to `WSACleanup@0'
    ld returned 1 exit status


    AIDEZ MOI SVP

  2. #2
    Membre actif Avatar de Twindruff
    Inscrit en
    Janvier 2005
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 216
    Points : 237
    Points
    237
    Par défaut
    If faut que tu demande à ton linker d'ajouter Ws2_32.lib aux imports.

  3. #3
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Novembre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2007
    Messages : 65
    Points : 53
    Points
    53
    Par défaut Merci
    Merci beaucoup mais comment je peut ajouter les linkers, je suis un NEWBIES.

  4. #4
    Membre actif Avatar de Twindruff
    Inscrit en
    Janvier 2005
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 216
    Points : 237
    Points
    237
    Par défaut
    Quel compilateur utilises-tu ?

Discussions similaires

  1. Problème de compilation de socket
    Par mansour67 dans le forum Réseau
    Réponses: 3
    Dernier message: 12/05/2008, 20h24
  2. [débutant] Sockets: Problème de compilation
    Par wetneb dans le forum Réseau
    Réponses: 4
    Dernier message: 25/06/2006, 11h28
  3. problème de compil devc++ socket
    Par stefdem dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 11/12/2003, 11h33
  4. Problème de compilation de la DLL du XMLRad
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 2
    Dernier message: 16/04/2003, 16h46
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

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