Gné ? root ?Envoyé par sorry60
Gné ? root ?Envoyé par sorry60
Pas de Wi-Fi à la maison : CPL
root oui pardonEnvoyé par Emmanuel Delahaye
Si je pleure encore qu'un jour tu me reviennes,
C'est que sans toi je suis comme un Roi sans sa Reine.
Petit conseil pour perror met plutot comme ca
Sans \n au résultat d'une erreur tu aura ca sur la sortie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 perro("lenomdelafonction()");
Par exemple pour un perror("connect()");
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2lenomdelafonction: l'erreur survenue
tu aurais eu ca
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 connect(): connection refused
Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
Mon espace perso[/B]
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]
Tu as bien lancer le serveur en premier?
C'est le serveur qu'il faut lancer en root pas le client.
Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
Mon espace perso[/B]
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]
Oui quand meme j'ai lancé le serveur avant d'essayer de m'y connecterEnvoyé par Skyrunner
J'ai lancé les deux en root, puis j'ai re-lu le code une 10ène de fois, puis consulter les pages man de chaque fonction mais je ne trouve pas l'erreur.. je commence à désespérer
Si je pleure encore qu'un jour tu me reviennes,
C'est que sans toi je suis comme un Roi sans sa Reine.
Tu te connectes sur le port 4000 qui est > 1024 donc pas besoin de lancer en root
Sinon a part ca
c'est
Et pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sout.sin_port = htons(4000);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sout.sin_port = htonl(4000);
Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
Mon espace perso[/B]
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]
Oui je sais, c'est ce que tu m'as expliqué quelques posts plus haut mais je ne veux prendre aucun risque tant que le connexion ne s'etablit pas..Envoyé par Skyrunner
Si je pleure encore qu'un jour tu me reviennes,
C'est que sans toi je suis comme un Roi sans sa Reine.
Genial tu as trouvé l'erreur, j'ai corrigé et maintenant ça se connecte !Envoyé par Skyrunner
Reste plus qu'à envoyer le message..
Merci à tous pour votre aide
Topic resolu
Si je pleure encore qu'un jour tu me reviennes,
C'est que sans toi je suis comme un Roi sans sa Reine.
J'ai rajouter -lws2_32 dans mon linker :
Seulement mon compilateur me dit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #include <winsock2.h> #pragma comment (lib,"-lws2_32.lib") int main (void) { WSADATA WSAdata; WSAstartup (MAKEWORD (2,0), &WSAdata); }[Linker error] undefined reference to `WSAstartup'
[Warning] implicit declaration of function `WSAstartup'
Les élèves glandeurs c'est comme le linge, quand il fait beau ca sèche.
ce n'est pas ça du tout, "rajouter dans les optiosn du linker"
Orojet->options du projet-> onglet "paramètres"...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Moi sous Dev Cpp
Tools -> Compiler Options -> Add these commands to the linker command line
J'ai rajouter (pour les sockets)
-lwsock32
Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
Mon espace perso[/B]
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]
mais ça, c'est commun à tous les projets...
Les options générales du compilateur, moi, je m'en sers pour mettre -Wall -Wextra...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Tu met ca pour les options du compilo, pas pour celle du linker.Envoyé par Médinoc
En fait j'y met ici car lorsque je cree vite fait un programme avec des sockets, je ne cree pas forcement un projet donc je coche et je decoche si j'utilise ou pas les sockets.
Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
Mon espace perso[/B]
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]
Caÿ mal...Envoyé par Skyrunner
Pas de Wi-Fi à la maison : CPL
J'ai mis -lwsock32 dans mon compilateur maintenant mon programme marche mais j'ai encore 2 warnings :Je ne comprend pas très bien ces warnings.[Warning] ignoring #pragma comment
Dans ma fonction main [Warning] control reaches end of non-void function
Les élèves glandeurs c'est comme le linge, quand il fait beau ca sèche.
Tu peux virer ce pragma. Pas portable...Envoyé par benjiprog
Il manque un return 0; a la fin du main().
Pas de Wi-Fi à la maison : CPL
Ca marche, mais alors la la ligne :Tu peux virer ce pragma. Pas portable...
ne sert a rien?
Code : Sélectionner tout - Visualiser dans une fenêtre à part #pragma comment (lib,"-lws2_32.lib")
Les élèves glandeurs c'est comme le linge, quand il fait beau ca sèche.
Les directives #pragma sont par définition non portables. Se sont des extensions valides pour un compilateur donné (ici, VC++6). Les autres compilateurs sont censés ignorer la directive (avec ou sans warning, peu importe).Envoyé par benjiprog
Problème, si
#pragma XXX
a un sens sur le compilateur A et un autre sens sur le compilateur B, c'est la catastrophe. Pour être portable, ne jamais utiliser les pragmas.
Sous VC++6, il y a d'autres moyens plus propres de signaler au linker qu'il doit ajouter une bibliothèque...
Pas de Wi-Fi à la maison : CPL
si tu ne veux pas supprimer le pragma pour Visual 6, tu peux t'assurer qu'il ne soit "vu" que par le compileur microsoft:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #ifdef _MSC_VER //cette macro représente la version du compilo MS #pragma comment (lib,"ws2_32.lib") #endif
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
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