C'est quoi ces erreurs socket

Résolu/Fermé
tchsimons Messages postés 191 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 24 novembre 2012 - 16 août 2009 à 17:59
tchsimons Messages postés 191 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 24 novembre 2012 - 17 août 2009 à 00:59
Bonjour,
Regardez ce programme serveur que j'ai copier sur le net je l'ai nommer server.c et j'utilise code::blocks comme ide.
à la suites du code je mettrai les erreurs de compilation que j'obtiens pour la plupart de ces codes réseau copier. je ne comprend pas ces erreurs.ai je fichier maquant dans mon ide? Est ce que vous pouvez avoir des tutos sur programmation réseau en c ou c++?
je suis sous Windows
/***************************************************************************************/
/**************************************************************************************/
/**************************************************************************************/
#if defined (WIN32)
#include <winsock2.h>
typedef int socklen_t;
#elif defined (linux)
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#define INVALID_SOCKET -1
#define SOCKET_ERROR -1
#define closesocket(s) close(s)
typedef int SOCKET;
typedef struct sockaddr_in SOCKADDR_IN;
typedef struct sockaddr SOCKADDR;
#endif

#include <stdio.h>
#include <stdlib.h>
#define PORT 23



int main(void)
{
#if defined (WIN32)
WSADATA WSAData;
int erreur = WSAStartup(MAKEWORD(2,2), &WSAData);
#else
int erreur = 0;
#endif

/* Socket et contexte d'adressage du serveur */
SOCKADDR_IN sin;
SOCKET sock;
socklen_t recsize = sizeof(sin);

/* Socket et contexte d'adressage du client */
SOCKADDR_IN csin;
SOCKET csock;
socklen_t crecsize = sizeof(csin);

int sock_err;


if(!erreur)
{
/* Création d'une socket */
sock = socket(AF_INET, SOCK_STREAM, 0);

/* Si la socket est valide */
if(sock != INVALID_SOCKET)
{
printf("La socket %d est maintenant ouverte en mode TCP/IP\n", sock);

/* Configuration */
sin.sin_addr.s_addr = htonl(INADDR_ANY); /* Adresse IP automatique */
sin.sin_family = AF_INET; /* Protocole familial (IP) */
sin.sin_port = htons(PORT); /* Listage du port */
sock_err = bind(sock, (SOCKADDR*)&sin, recsize);

/* Si la socket fonctionne */
if(sock_err != SOCKET_ERROR)
{
/* Démarrage du listage (mode server) */
sock_err = listen(sock, 5);
printf("Listage du port %d...\n", PORT);

/* Si la socket fonctionne */
if(sock_err != SOCKET_ERROR)
{
/* Attente pendant laquelle le client se connecte */
printf("Patientez pendant que le client se connecte sur le port %d...\n", PORT);
csock = accept(sock, (SOCKADDR*)&csin, &crecsize);
printf("Un client se connecte avec la socket %d de %s:%d\n", csock, inet_ntoa(csin.sin_addr), htons(csin.sin_port));
}
else
perror("listen");
}
else
perror("bind");

/* Fermeture de la socket client et de la socket serveur */
printf("Fermeture de la socket client\n");
closesocket(csock);
printf("Fermeture de la socket serveur\n");
closesocket(sock);
printf("Fermeture du serveur terminée\n");
}
else
perror("socket");

#if defined (WIN32)
WSACleanup();
#endif
}

return EXIT_SUCCESS;
}
/***************************************************************************************/
/************* voici les erreurs de compilation ************************************/
/***************************************************************************************/

server.c undefined reference to 'wsastratup'
server.c undefined reference to 'socket@12'
server.c undefined reference to 'htonl@4'
server.c undefined reference to 'htons@4'
server.c undefined reference to 'bind@12'
server.c undefined reference to 'lislen@8'
server.c undefined reference to 'accept@12'
server.c undefined reference to 'htons@4'
server.c undefined reference to 'inet_ntoa@4'
server.c undefined reference to 'closesocket@4'
server.c undefined reference to 'closesocket@4'
server.c undefined reference to 'WSACLenup'

/*////////////////////////////////////////////////////////////////////////////////////////////////////////////*/

7 réponses

Utilisateur anonyme
16 août 2009 à 19:14
Bonjour,

Il te manque Winsock32.DLL. Il faut la rajouter à la suite des autres DLL dans les options de ton linker.
0
tchsimons Messages postés 191 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 24 novembre 2012 14
16 août 2009 à 21:01
j'ai copier le Winsock32.DLL de mon systeme et je l'ai collé dans la liste des dll de mon IDE , cela ne fonctionne toujours pas.
0
tchsimons Messages postés 191 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 24 novembre 2012 14
16 août 2009 à 21:29
non j'ai plutot copié Winsock.DLL je crois il est différent de Winsock32.DLL.je cherche encore,je tombe beaucoup plus sur Wsock32.DLL kelkun a un lien pour le télechargement?
0
tchsimons Messages postés 191 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 24 novembre 2012 14
16 août 2009 à 22:47
Aidez moi j'arrive pas à trouver Winsock32.DLL pour le telechargement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tchsimons Messages postés 191 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 24 novembre 2012 14
17 août 2009 à 00:55
Ok le probleme n'est pas celui de dll manquant. j'ai utilisé un autr furum pour resoudre le PB. cliquez plutot ici.
0
tchsimons Messages postés 191 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 24 novembre 2012 14
17 août 2009 à 00:57
0
tchsimons Messages postés 191 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 24 novembre 2012 14
17 août 2009 à 00:59
recopiez plutot ceci :::: https://openclassrooms.com/forum/sujet/c-est-quoi-ces-erreurs-socket-49823 vous aurez la solution àce probleme.
0