oui il y est, c'est la première chose que j'ai regardé.
je ne comprend pas pourquoi il me sort cette erreur.
Version imprimable
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 ?
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:aie:]
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:
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:
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; }
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: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