Partage
  • Partager sur Facebook
  • Partager sur Twitter

les socket sur broux développe

Sujet résolu
    14 décembre 2018 à 21:25:52

    Bonjour je suis ce cour

    https://broux.developpez.com/articles/c/sockets/#L5-3-1-b 

    et j'essaye de tester le code source fourni mais il ne semble pas fonctionner je me suis gouré quelque pars enfin bon si quelqu’un sait ce qu'il faut modifier dans le code  ce serait géniale 

    Merci

    • Partager sur Facebook
    • Partager sur Twitter
      17 décembre 2018 à 7:29:55

      Bonjour, personne ne pourra t'aider avec si peu de renseignements.

      Déjà c'est quoi ton systeme d'exploitation?

      "il ne semble pas fonctionner".... ça ne compile pas? ça ne s'execute pas? y a t il des messages d'erreur? des warning?

      tu utilises un ide ou tu fais tous à la main ?

      • Partager sur Facebook
      • Partager sur Twitter
        17 décembre 2018 à 18:22:47

        j’utilise codeblock sous windows 10 

        c'est ce bout de code que je ne comprend pas

           if(argc < 2)
           {
              printf("Usage : %s [address] [pseudo]\n", argv[0]);
              return EXIT_FAILURE;
           }
        
        

        il est dans main 

        int main(int argc, char **argv)
        {
           if(argc < 2)
           {
              printf("Usage : %s [address] [pseudo]\n", argv[0]);
              return EXIT_FAILURE;
           }
        
           init();
        
           app(argv[1], argv[2]);
        
           end();
        
           return EXIT_SUCCESS;
        }
        

        et comme argv est toujour plus petit que deux ba ça ne va pas plus loin, puis en supprimant ce petit bout, 

        le programme print un select() no error ou un truc du genre 

        j'ai chercher et il semblerait qu'il faille faire ça

        int main(int argc, char **argv)
        {
        
           init();
        
           app([address], [pseudo]);
        
           end();
        
           return EXIT_SUCCESS;
        }



        l'adresse c'est bien l'ip non ??

        car il y a toujour le programme qui me dit il s'execute mais sur la console il y a 

        select(): No error

        peux être faut il utiliser une ip spéciale 

        -
        Edité par AyeinLas 17 décembre 2018 à 18:46:38

        • Partager sur Facebook
        • Partager sur Twitter
          17 décembre 2018 à 18:43:49

          argc c'est le nombre de paramètres que reçois le programme, comme par exemple

          cp /root /usr/bin

          Donc ce bout de code sert juste à vérifier que tu reçois bien l'adresse et le pseudo apparemment en paramètres du programme

          • Partager sur Facebook
          • Partager sur Twitter

          Remember, remember, the fifth of November, Gunpowder Treason and Plot, I see no reason why the gunpowder treason should ever be forgot.

            17 décembre 2018 à 18:49:03

            merci sk0rn j'ai essayer d'ajouter des paramètre a mon apli mais elle a un nom composée "socket udp" et cmd n’aime pas vraiment les espace même avec les guillemet donc je pense qu'il est plus judicieux de remplacer les 

            argv[]

            -
            Edité par AyeinLas 17 décembre 2018 à 18:50:48

            • Partager sur Facebook
            • Partager sur Twitter
              17 décembre 2018 à 18:59:37

              Le plus simple dans ton cas, codant sous windows est selon moi de déclarer simplement l'adresse et le pseudo en tant que variable que tu rempliras comme tu le souhaites afin d'utiliser ton code, tu pourras ensuite en faire ce que tu veux si tout fonctionne
              • Partager sur Facebook
              • Partager sur Twitter

              Remember, remember, the fifth of November, Gunpowder Treason and Plot, I see no reason why the gunpowder treason should ever be forgot.

                17 décembre 2018 à 19:36:46

                j'ai dit plus haut 

                j'ai chercher et il semblerait qu'il faille faire ça

                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                int main(int argc, char **argv)
                {
                init();
                app([address], [pseudo]);
                end();
                return EXIT_SUCCESS;
                }



                l'adresse c'est bien l'ip non ??

                car il y a toujour le programme qui me dit il s'execute mais sur la console il y a 

                1
                select(): No error

                peux être faut il utiliser une ip spéciale 

                • Partager sur Facebook
                • Partager sur Twitter
                  17 décembre 2018 à 20:26:32

                  T'as un serveur qui tourne en même temps ? Car si tu essayes de te connecter avec le client sur un ip random ça ne fonctionnera pas.

                  Essaye de faire tourner le serveur et de connecter le client en local avec l'ip 127.0.0.1

                  Et si ça ne fonctionne toujours pas le cours précise bien ceci :

                  Comme déjà dit, select avec STDIN_FILENO ne fonctionne pas sous Windows, il faudrait donc trouver une alternative pour la saisie de message (khbit(), interface graphique...). 

                  Et si tu essayes de te faire au socket etc je te conseille de reprendre tout ce qu'il utilise dans le cours et de faire toi même un serveur et client simple qui déjà se connecte juste au serveur et après essaye d'implémenter des choses comme l'envoi d'un fichier ou autre.

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Remember, remember, the fifth of November, Gunpowder Treason and Plot, I see no reason why the gunpowder treason should ever be forgot.

                    18 décembre 2018 à 18:51:08

                    Merci je vait faire ça et cela devrait mieux marcher avec l'ip que tu ma donné j'utilisait 127.0.0.0
                    • Partager sur Facebook
                    • Partager sur Twitter

                    les socket sur broux développe

                    × 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