Partage
  • Partager sur Facebook
  • Partager sur Twitter

code socket client ne fonctionne pas

    2 août 2019 à 23:02:43

    Bonjour, 

    J'essaye de m'initiez quant au développement de sockets.

    J'ai donc fais un copié-collé du code client sur le site https://www.developpez.net/forums/d1046364/systemes/reseaux/developpement/fonction-htons-port-client-serveur/:

    #include <winsock2.h>
    #pragma comment(lib, "ws2_32.lib")
    int main()
    {
        WSADATA WSAData;
        SOCKET sock;
        SOCKET csock;
        SOCKADDR_IN sin;
        SOCKADDR_IN csin;
        WSAStartup(MAKEWORD(2,0), &WSAData);
        sock = socket(AF_INET, SOCK_STREAM, 0);
        sin.sin_addr.s_addr = INADDR_ANY;
        sin.sin_family = AF_INET;
        sin.sin_port = htons(23);
        bind(sock, (SOCKADDR *)&sin, sizeof(sin));
        listen(sock, 0);
        while(1) /* Boucle infinie. Exercice : améliorez ce code. */
        {
            int sinsize = sizeof(csin);
            if((csock = accept(sock, (SOCKADDR *)&csin, &sinsize)) != INVALID_SOCKET)
            {
                send(csock, "Hello world!\r\n", 14, 0);
                closesocket(csock);
            }
        }
        /* On devrait faire closesocket(sock); puis WSACleanup(); mais puisqu'on a entré une boucle infinie ... */
        return 0;
    }
    

    Or, l'erreur undefined reference to WSAStartup@8, ainsi que pour d'autres éléments.

    J'espère que vous pourrez m'éclairer !

    • Partager sur Facebook
    • Partager sur Twitter
      3 août 2019 à 0:31:26

      Avec quoi tu compiles ?
      • Partager sur Facebook
      • Partager sur Twitter
        3 août 2019 à 11:16:52

        Code::Blocks n'est pas un compilateur mais un EDI.

        En supposant que tu es sous Windows et que tu compile avec MinGW, il faut ajouter la lib ws2_32.a a ton projet. (Option -lws2_32 du linker).

        • Partager sur Facebook
        • Partager sur Twitter

        code socket client ne fonctionne pas

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown