oui il y est, c'est la première chose que j'ai regardé.
je ne comprend pas pourquoi il me sort cette erreur.
oui il y est, c'est la première chose que j'ai regardé.
je ne comprend pas pourquoi il me sort cette erreur.
C'est un problème à l'édition de lien, plutôt, non ?
Il manque pas un -lpthread dans la ligne de compilation ?
Cours : Initiation à CMake
Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
Ce message a été tapé avec un clavier en disposition bépo.
C'est une erreur de link . Il faut que tu ajoutes dans les options de link la librairie pthread. Sous MinGW, il s'agit libpthread.a. Cette librairie dépend de ton compilateur et la façon de l'ajouter de ton environnement de développement. Je suis sur que tu vas t'en sortir
[Grilled]
Ressources proposées par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
merci a tous de votre aide.
effectivement c'est le link qui manquer
Cordialement
j'ai un nouveau problème.
Cette fois si sur le build de ma soket.
Je ne trouve pas pourquoi sa marche pas, en plus je n'ai aucun message erreur a la compilation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 sockaddr_in mysock;//structure définissant l'IP, le port et le protocole de ce serveur SOCKET Socket;//le socket servant à la reception int size=(int)sizeof(mysock);//taille nécessaire pour la suite Socket = socket (AF_INET, SOCK_STREAM, 0);//ouvre une socket pour la reception if(Socket==INVALID_SOCKET)//gestion d'erreur { cout<<"Erreur d' initialisation de la socket!"<<endl; return EXIT_FAILURE; } }
Cordialement
Ca donne quoi comme trace ?
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 sockaddr_in mysock;//structure définissant l'IP, le port et le protocole de ce serveur #ifdef WIN32 SOCKET Socket;//le socket servant à la reception #else int Socket;//le socket servant à la reception #endif int size=(int)sizeof(mysock);//taille nécessaire pour la suite Socket = socket (AF_INET, SOCK_STREAM, 0);//ouvre une socket pour la reception #ifdef WIN32 if(Socket==INVALID_SOCKET)//gestion d'erreur #else if(Socket==-1)//gestion d'erreur #endif { cout<<"Erreur d' initialisation de la socket!"<<endl; switch(errno) { case EPROTONOSUPPORT : std::cout<<"Le type de protocole, ou le protocole lui-même n'est pas disponible dans ce domaine de communication. "<<std::endl; break; case ENFILE : std::cout<<"La table des descripteurs par processus est pleine. "<<std::endl; break; case EMFILE : std::cout<<"La table des fichiers est pleine. "<<std::endl; break; case EACCES : std::cout<<"La création d'une telle socket n'est pas autorisée. "<<std::endl; break; case ENOBUFS ou ENOMEM : std::cout<<"Pas suffisament d'espace pour allouer les buffers nécessaires. "<<std::endl; break; case EINVAL : std::cout<<"Protocole inconnu, ou famille de protocole inexistante. "<<std::endl; break; default : std::cout<<"Erreur n° "<<errno<<" hexa : "<<std::hex<<errno<<std::endl; break; } return EXIT_FAILURE; }
Ressources proposées par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
en faite je viens de résoudre le problème mais merci de ton aide 3DArchi.
Par contre quand je reçois l'adresse ip du programme serveur elle s'avère erroné.
Code : Sélectionner tout - Visualiser dans une fenêtre à part cout<<"Connection d'un ordinateur au serveur a l'adresse : "<<inet_ntoa(Oaaddr.sin_addr)<<endl;
Je reçois 1.0.0.0 au lieu de 192.168.0.1.
Cordialement
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager