Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme d'initialisation des sockets

CTRL+C : titre CTRL+V

Anonyme
    6 mai 2008 à 23:02:03

    Bonjour tout le monde ! ^^ Voila mon probleme :
    je fais un programme de lecteur de flux RSS . Cela fait mon troisieme programme (meme si les deux premiers aprochaient plus de l'essai :p ) , et , là , d'un seul coup HA HORREUR ! MALHEUR ! UNE ERREUR ! :waw: J'arrivai parfaitement à compiler , mais à chaque fois que je lançait le programme , il y avait marqué "erreur d'initialisation de la socket ." ! o_O Donc j'ai repri la parti du code touché par la maladie , pour éviter que cela se propage , et pouvoir trouver l'antidote . Voila la victime :
    #include <stdio.h>
    #include <stdlib.h>
    #include "socketportable.h"
    
    int main(int argc, char *argv[])
    {
        SOCKET sock = {0};
        WSADATA WSAData;
        
        if (WSAStartup(MAKEWORD(2,0), &WSAData) !=0)
        {
                   printf("Erreur Startup");
                   getchar();
                   exit(EXIT_FAILURE);
        }
        
        
        if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1);
        {
                  printf("Erreur d'initialisation de la socket .");
                  getchar();
                  exit(EXIT_FAILURE);
        }
        printf("Socket initialisé.");
        
        closesocket(sock);
        WSACleanup();
    }
    


    Comment cela se soigne ? :euh: Le malade a-t-il une chance de s'en sortir ? Je l'aime tellement ! :'( Aidez moi ! Sauvez le !
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      7 mai 2008 à 19:19:43

      SOCKET sock = {0};
      WSADATA WSAData;

      esaye plutot

      WSADATA WSAData;
      SOCKET sock = {0};
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        7 mai 2008 à 19:39:13

        Mais t'as juste inversé les lignes ! Qu'est-ce que ca change ?! o_O Enfin , je vais essayer quand meme ! ^^ Merci de t'interesser à mon cas (ne vous inquietez pas , je ne suis pas aussi poli dans la réalitée ! C'est seulement pour paraitre sympa et que vous me répondiez avec joie ! :p ) !


        EDIT : Non , ca marche pas ... :( De toute facon , je ne vois pas ce que cela change , ce n'est qu'une déclaration de fonction ... HELP MEEEEEEEE :o
        • Partager sur Facebook
        • Partager sur Twitter
          7 mai 2008 à 19:55:13

          - ici c'est le forum C++, le C c'est à coté
          - parametres du main() inutile
          - main() retourne une valeur
          - WSA... c'est pas tres portable sans preprocesseur
          - personnellement je "MAKEWORD" en 2.2
          - sock n'est pas un tableau, initalise-la à -1 (INVALID_SOCKET)
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            7 mai 2008 à 23:09:11

            Je sais , jme suis trompé de forum ... :euh: Trop tard ! Pour l'oubli de return , c'est un oubli de selec quand j'ai pris l'éssentiel du code source . Apres , MAKEWORD en 2.2 ... C'est pas ca qui va corriger mon probleme (j'ai d'ailleurs essayé , au cas ou , et ben non , c'est pas ca ...). Ensuite , pour les parametres de main , ce devrait etre un reflexe de toujours les mettre : cela ne coute rien , et ca peut etre super utile en temps voulu . Le sock , c'etait un "essai deseperé" que j'ai oublié d'effacer . Voila ! ^^ Au fait , meme si c'est sympa d'essayer de m'aider (merci ! ^^ ) , je te rapelle que un rien de politesse (ne serait-ce qu'un bonjour) rendrait la communication un brin plus agréable (parce-que la , c'est limite bot ! :p ) . Enfin je dis ca , je dis rien , hein ! :p
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              8 mai 2008 à 10:20:43

              tu a linker la librairie...
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                8 mai 2008 à 10:47:41

                Si c'est la lib libwsock32.a , alors oui , je l'ai fait .
                • Partager sur Facebook
                • Partager sur Twitter
                  8 mai 2008 à 16:53:12

                  Citation : zeroologue

                  Apres , MAKEWORD en 2.2 ... C'est pas ca qui va corriger mon probleme (j'ai d'ailleurs essayé , au cas ou , et ben non , c'est pas ca ...).


                  non je ne pensais pas non plus que ca changerait le probleme, c'est juste que 2.2 c'est la derniere version

                  Citation : zeroologue

                  Ensuite , pour les parametres de main , ce devrait etre un reflexe de toujours les mettre : cela ne coute rien , et ca peut etre super utile en temps voulu .


                  sauf que si ton compilateur est bien configuré, il te sort des warnings

                  Citation : zeroologue

                  Voila ! ^^ Au fait , meme si c'est sympa d'essayer de m'aider (merci ! ^^ ) , je te rapelle que un rien de politesse (ne serait-ce qu'un bonjour) rendrait la communication un brin plus agréable (parce-que la , c'est limite bot ! :p ) . Enfin je dis ca , je dis rien , hein ! :p


                  désolé si tu l'a pris comme ca, il n'y avait aucune intention de ma part, je listais simplement les choses que j'avais remarqué

                  sinon pour revenir au probleme:
                  tu compile en C ? si oui, demande aux moderateurs de changé le sujet de forum. sinon poste le code complet compilable qui reproduit l'erreur en ayant changé ce que je t'ai deja dit
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    8 mai 2008 à 19:57:49

                    Ce code aussi cause une erreur . Donc , à part embrouiller l'esprit , cella ne servirait à rien de mettre le code source entier ...(surtout qu'il est assez long , et j'en ai ma barbe , des copier/coller ! :p ) Chez toi , y pas d'érreur ? o_O Apres , pour les warning , j'en ai pas vu que j'ai dev-c++ ! :p (enfin , si ca ce configure , dites le moi !)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      8 mai 2008 à 20:04:44

                      Citation : zeroologue

                      Ce code aussi cause une erreur . Donc , à part embrouiller l'esprit , cella ne servirait à rien de mettre le code source entier ...


                      oui, mais ce n'est pas un code minimal qui reproduit l'erreur, surtout il n'est pas compilable. et C => C++ (vire moi ces printf() et co., bannis exit(), ...)

                      Citation : zeroologue

                      Apres , pour les warning , j'en ai pas vu que j'ai dev-c++ ! :p (enfin , si ca ce configure , dites le moi !)


                      http://mapage.noos.fr/emdel/codage.htm#cfg_compilo
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        8 mai 2008 à 21:17:53

                        Comment ca , il n'est pas compilable ?! o_O J'arrive tres bien à compiler ce bout de code , mais il me marque quand meme "erreur d'initialisation blabla..." . J'aimerai bien savoir pourquoi ! Et je ramplace exit par quoi ?
                        • Partager sur Facebook
                        • Partager sur Twitter
                          9 mai 2008 à 11:59:15

                          j'ai pas "socketportable.h" moi
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            9 mai 2008 à 17:30:37

                            C'est moi qui l'ai fait . C'est le code portable montré dans le tuto sur les socket sur ce site . (Sorry , je ne peux pas te la montrer , vu que je ne suis pas sur le bon ordi ...)
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Anonyme
                              11 mai 2008 à 23:39:33

                              UP ! Bon , j'vais me coucher , moi ... (qu'est-ce que je peux etre interessant , des fois ... AU SECOUR J'ai perdu le point d'exclamation Ah non , il est là ! Il faut vraiment que j'aille dormir , là ! :p )
                              • Partager sur Facebook
                              • Partager sur Twitter

                              probleme d'initialisation des sockets

                              × 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