Partage
  • Partager sur Facebook
  • Partager sur Twitter

Socket Io c++

    25 novembre 2018 à 15:45:36

    Bonjour, j'aimerais faire une application c++ client  avec node js et socket io mais je n'arrive pas a installer la bibliothèque sous qt en plus l'exemple ne veut même pas compiler a cause d'erreurs. Quelqu’un pourrait-il m'aider svp ?
    • Partager sur Facebook
    • Partager sur Twitter

    si jamais j'abandonne c'est pour recommencer plus tard

      26 novembre 2018 à 2:44:54

      Bonjour.

      Peux-t-on savoir quelles erreurs tu as ?

      Qu'as-tu fait pour essayer d'intégrer la bibliothèque ?

      • Partager sur Facebook
      • Partager sur Twitter
        26 novembre 2018 à 7:30:56

        Bonjour,

        J'ai téléchargé la bibliothèque ici https://github.com/socketio/socket.io-client-cpp puis j'ai téléchargé boost ici https://www.boost.org/ j'ai compilé boost pour mingw en exécutant bootstrap puis un commande pour mingw: bjam --toolset=gcc --build-type=complete install enfait c'est la que je pense que je n'ai pas fait ce qu'il faut: il faut compiler socket io avec boost mais la je n'ai pas trouvé comment faire

        • Partager sur Facebook
        • Partager sur Twitter

        si jamais j'abandonne c'est pour recommencer plus tard

          26 novembre 2018 à 9:07:49

          socket.io est basé sur CMake, donc en gros c'est

          cd socket.io
          mkdir build
          cd build
          cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=On -G"MinGW Makefiles"
          mingw32-make



          -
          Edité par markand 27 novembre 2018 à 9:21:45

          • Partager sur Facebook
          • Partager sur Twitter

          git is great because Linus did it, mercurial is better because he didn't.

            26 novembre 2018 à 18:27:35

            Merci mais au moment de taper la commande

            cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS -G"MinGW Makefiles"



            j'ai l'erreur:

            Parse error in command line argument: -DBUILD_SHARED_LIBS
            Should be: VAR:type=value
            CMake Error: No cmake script provided.
            CMake Error: Problem processing arguments. Aborting.

            -
            Edité par Robotechnic 26 novembre 2018 à 18:28:54

            • Partager sur Facebook
            • Partager sur Twitter

            si jamais j'abandonne c'est pour recommencer plus tard

              27 novembre 2018 à 9:21:33

              Oups, essaye -DBUILD_SHARED_LIBS=On à la place.
              • Partager sur Facebook
              • Partager sur Twitter

              git is great because Linus did it, mercurial is better because he didn't.

                27 novembre 2018 à 16:29:33

                merci pour la commande, je teste si sa marche et je vous le dit ce soir.

                Petite précision: le dossier Boost qui contient les dosier lib et include que l'on obtiens apré avoir build boost doit se trouver a la racine du disque C ou dans une variable d'environement sinon sa marche pas

                J'ai eu un autre problème que j'ai réussit a trouver et qui je pence vas regler un autre de mes problèmes , c'est les espaces dans les nom des fichier qui causais de problème notament dans la compilation de boost: Les espaces!:colere:(et oui sous windows en 2018 c'est encore un problème)

                Par exemple pour boost il cherchais ma vertion de mingw dans C:\Programes Files\... et , je ne l'ai vu qu'en fessant des test sur un autre ordi il met au début: "commande C:\Programes n'est pas une commande..." et il compilais pour mvc, ce qui est problématique quand on travaille avec mingw (gcc)

                -
                Edité par Robotechnic 28 novembre 2018 à 14:08:28

                • Partager sur Facebook
                • Partager sur Twitter

                si jamais j'abandonne c'est pour recommencer plus tard

                  30 novembre 2018 à 19:27:41

                  Bonjour, j'ai un autre problème quand j'execute la commande

                  C:\socketIo\socket.io-client-cpp\build>cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=On -DBOOST_INCLUDEDIR="../boost/boost/" -DBOOST_LIBRARYDIR="../boost/lib" -DBOOST_VER:STRING="1.60" ./ -G"MinGW Makefiles"

                  j'obtiens:

                  -- The C compiler identification is GNU 8.1.0
                  -- The CXX compiler identification is GNU 8.1.0
                  -- Check for working C compiler: C:/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/gcc.exe
                  -- Check for working C compiler: C:/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/gcc.exe -- works
                  -- Detecting C compiler ABI info
                  -- Detecting C compiler ABI info - done
                  -- Detecting C compile features
                  -- Detecting C compile features - done
                  -- Check for working CXX compiler: C:/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/g++.exe
                  -- Check for working CXX compiler: C:/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/g++.exe -- works
                  -- Detecting CXX compiler ABI info
                  -- Detecting CXX compiler ABI info - done
                  -- Detecting CXX compile features
                  -- Detecting CXX compile features - done
                  -- not define build type, set to release
                  CMake Error at C:/Program Files/CMake/share/cmake-3.13/Modules/FindBoost.cmake:2081 (message):
                    Unable to find the requested Boost libraries.
                  
                    Boost version: 1.68.0
                  
                    Boost include path: C:/Boost/include/boost-1_68
                  
                    Could not find the following static Boost libraries:
                  
                            boost_system
                            boost_date_time
                            boost_random
                  
                    No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
                    directory containing Boost libraries or BOOST_ROOT to the location of
                    Boost.
                  Call Stack (most recent call first):
                    CMakeLists.txt:24 (find_package)
                  
                  
                  -- Found OpenSSL: C:/Program Files/OpenSSL-Win64/lib/libcrypto.lib (found version "1.1.1a")
                  -- Configuring incomplete, errors occurred!
                  See also "C:/socketIo/socket.io-client-cpp/CMakeFiles/CMakeOutput.log".

                  j'ai l'inpression qu'il ne prend pas en compte les instructions:

                  -DBOOST_INCLUDEDIR="../boost/boost/" -DBOOST_LIBRARYDIR="../boost/lib



                  Voici l’arborescence de mon projet:

                  boost

                  --boost

                  ----touts les headers de boost

                  --lib

                  ----libboost_date_time-mgw81-mt-d-x32-1_68.a

                  ----libboost_date_time-mgw81-mt-d-x64-1_68.a

                  ----libboost_date_time-mgw81-mt-x32-1_68.a

                  ----libboost_date_time-mgw81-mt-x64-1_68.a

                  ----libboost_random-mgw81-mt-d-x32-1_68.a

                  ----libboost_random-mgw81-mt-d-x64-1_68.a

                  ----libboost_random-mgw81-mt-x32-1_68.a

                  ----libboost_random-mgw81-mt-x64-1_68.a

                  ----libboost_system-mgw81-mt-d-x32-1_68.a

                  ----libboost_system-mgw81-mt-d-x64-1_68.a

                  ----libboost_system-mgw81-mt-x32-1_68.a

                  ----libboost_system-mgw81-mt-x64-1_68.a

                  build

                  --touts les fichiers généré par cmake

                  exemples

                  --les exemples

                  lib

                  --rapidjson

                  --websocketpp

                  src

                  --internal

                  ----.DS_Store

                  ----sio_client_impl.cpp

                  ----sio_client_impl.h

                  ----sio_packet.cpp

                  ----sio_packet.h

                  --sio_client.cpp

                  --sio_client.h

                  --sio_message.h

                  --sio_socket.cpp

                  --sio_socket.h

                  test

                  .travis.yml

                  API.md

                  boost

                  BOOST.md

                  CMakeCache.txt

                  CMakeLists.txt

                  INSTALL.md

                  INSTALL_IOS.md

                  LICENSE

                  README.md

                  J'ai cherché des solutions mais je n'en ai pas trouvé donc je compte sur  vous pour m'aider SVP

                  -
                  Edité par Robotechnic 30 novembre 2018 à 19:29:04

                  • Partager sur Facebook
                  • Partager sur Twitter

                  si jamais j'abandonne c'est pour recommencer plus tard

                    2 décembre 2018 à 20:15:20

                    je n'arrive pas a trouver de solution alors s'il vous plait aidez moi
                    • Partager sur Facebook
                    • Partager sur Twitter

                    si jamais j'abandonne c'est pour recommencer plus tard

                      3 décembre 2018 à 9:17:48

                      Le module FindBoost est un peu problématique, quelle version de CMake as-tu ? essaye avec la toute dernière (3.13)
                      • Partager sur Facebook
                      • Partager sur Twitter

                      git is great because Linus did it, mercurial is better because he didn't.

                        3 décembre 2018 à 10:38:44

                        Bonjour, j'ai téléchargé le dernière version de cmake (3.13.1 ) et j'ai toujours la même erreur, j'ai même définit les variables d’environnement BOOST_ROOT, BOOST_INCLUDEDIR, et BOOST_LIBRARYDIR au bon chemins sur les disques de mon ordinateur, je vérifié il n'y a aucun problème d'espace dans le nom des fichier que j'ai placé a la racine du disque C. J'ai build boost en static et en shared donc j'ai des fichiers .a et .dll et sa ne marche toujours pas.

                        Par contre si je suiprime la ligne

                        find_package(Boost 1.66.0 REQUIRED COMPONENTS date_time system random)

                        et que je renomme les fichiers .a avec de noms plus court par exemple

                        libboost_system-mgw81-mt-x64-1_68.a en system.a

                        alors enfin cmake compile mais la j'ai une erreur de mingw je la metrais ce soir car je n'ai pas le temps de le faire maintenant, j'ai cour.

                        • Partager sur Facebook
                        • Partager sur Twitter

                        si jamais j'abandonne c'est pour recommencer plus tard

                          3 décembre 2018 à 15:51:12

                          Robotechnic a écrit:

                          Bonjour, j'aimerais faire une application c++ client  avec node js et socket io


                          Heu, ça t'es imposé socket IO ?
                          QT fournit des classes pour les communications réseaux....
                          • Partager sur Facebook
                          • Partager sur Twitter
                            3 décembre 2018 à 18:56:09

                            Bonjour, en fait je doit communiquer avec un serveur socket io en node js mais si tu trouve une autre solution je suis preneur :D

                            sinon l'erreur de mingw c'est ça:

                            Scanning dependencies of target sioclient
                            [ 10%] Building CXX object CMakeFiles/sioclient.dir/src/sio_client.cpp.obj
                            In file included from C:/socketIo/socket.io-client-cpp/lib/websocketpp/websocketpp/transport/base/connection.hpp:33,
                                             from C:/socketIo/socket.io-client-cpp/lib/websocketpp/websocketpp/connection.hpp:37,
                                             from C:/socketIo/socket.io-client-cpp/lib/websocketpp/websocketpp/endpoint.hpp:31,
                                             from C:/socketIo/socket.io-client-cpp/lib/websocketpp/websocketpp/roles/client_endpoint.hpp:31,
                                             from C:/socketIo/socket.io-client-cpp/lib/websocketpp/websocketpp/client.hpp:31,
                                             from C:\socketIo\socket.io-client-cpp\src\internal/sio_client_impl.h:15,
                                             from C:\socketIo\socket.io-client-cpp\src\sio_client.cpp:8:
                            C:/socketIo/socket.io-client-cpp/lib/websocketpp/websocketpp/common/functional.hpp:55:14: fatal error: boost/bind.hpp: No such file or directory
                                 #include <boost/bind.hpp>
                                          ^~~~~~~~~~~~~~~~
                            compilation terminated.
                            mingw32-make[2]: *** [CMakeFiles\sioclient.dir\build.make:63: CMakeFiles/sioclient.dir/src/sio_client.cpp.obj] Error 1
                            mingw32-make[1]: *** [CMakeFiles\Makefile2:72: CMakeFiles/sioclient.dir/all] Error 2
                            mingw32-make: *** [Makefile:129: all] Error 2

                            donc je pence qu'il ne faut pas modifier le CmakeList

                            -
                            Edité par Robotechnic 3 décembre 2018 à 18:59:08

                            • Partager sur Facebook
                            • Partager sur Twitter

                            si jamais j'abandonne c'est pour recommencer plus tard

                              5 décembre 2018 à 14:46:49

                              en fesant des recherches j'ai trouvé ça:

                              Sounds like FindBoost.cmake is not updated for 1.64
                              You might try also setting Boost_ADDITIONAL_VERSION to 1.64.0, personally I just update the script (source), but might not be suitable resolution for everyone.

                              je vais essayer de telecharger une version de boost anterieure et je verais si sa marche 

                              sur la doc de find boost j'ai vu la version 1.67, 1.66 mais pas 1.68

                              -
                              Edité par Robotechnic 5 décembre 2018 à 14:54:26

                              • Partager sur Facebook
                              • Partager sur Twitter

                              si jamais j'abandonne c'est pour recommencer plus tard

                                5 décembre 2018 à 18:45:40

                                Robotechnic a écrit:

                                Bonjour, en fait je doit communiquer avec un serveur socket io en node js mais si tu trouve une autre solution je suis preneur :D

                                sinon l'erreur de mingw c'est ça:

                                Scanning dependencies of target sioclient
                                [ 10%] Building CXX object CMakeFiles/sioclient.dir/src/sio_client.cpp.obj
                                In file included from C:/socketIo/socket.io-client-cpp/lib/websocketpp/websocketpp/transport/base/connection.hpp:33,
                                                 from C:/socketIo/socket.io-client-cpp/lib/websocketpp/websocketpp/connection.hpp:37,
                                                 from C:/socketIo/socket.io-client-cpp/lib/websocketpp/websocketpp/endpoint.hpp:31,
                                                 from C:/socketIo/socket.io-client-cpp/lib/websocketpp/websocketpp/roles/client_endpoint.hpp:31,
                                                 from C:/socketIo/socket.io-client-cpp/lib/websocketpp/websocketpp/client.hpp:31,
                                                 from C:\socketIo\socket.io-client-cpp\src\internal/sio_client_impl.h:15,
                                                 from C:\socketIo\socket.io-client-cpp\src\sio_client.cpp:8:
                                C:/socketIo/socket.io-client-cpp/lib/websocketpp/websocketpp/common/functional.hpp:55:14: fatal error: boost/bind.hpp: No such file or directory
                                     #include <boost/bind.hpp>
                                              ^~~~~~~~~~~~~~~~
                                compilation terminated.
                                mingw32-make[2]: *** [CMakeFiles\sioclient.dir\build.make:63: CMakeFiles/sioclient.dir/src/sio_client.cpp.obj] Error 1
                                mingw32-make[1]: *** [CMakeFiles\Makefile2:72: CMakeFiles/sioclient.dir/all] Error 2
                                mingw32-make: *** [Makefile:129: all] Error 2

                                donc je pence qu'il ne faut pas modifier le CmakeList

                                -
                                Edité par Robotechnic 3 décembre 2018 à 18:59:08

                                Si tu dois "communiquer avec un serveur node.js" alors peut importe la technologie que tu prend pour le faire .. lui recois une requete et renvoie une reponse. Tu pourrais tres bien le faire en brainfuck que le serveur s'en rendrait pas compte.

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  5 décembre 2018 à 20:32:47

                                  oui mais le but c'est de le communiquer en direct avec node js, donc j'utilise socket io coté node js et du coté client je le fait en c++ il faut juste une lib qui permet de comuniquer en direct avec le serveur node js j'ai juste choisis socket io. Quand j'ai dit que si il y avais une autre solution j'étais preneur je voulais dire une autre solution de comunication en direct node JS et c++
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  si jamais j'abandonne c'est pour recommencer plus tard

                                    8 décembre 2018 à 12:20:40

                                    Merci pour la lib, par contre je n'ai pas trouvé de doc plus précise que le pdf founis avec la lib qui n'est pas très fourni.

                                    J'ai réussit a compiler Socket IO dans le dossier build j'ai un dossier lib et un dossier include par contre je n'ai que les fichiers release j'aimerais savoir comment avoir les fichiers debug.

                                    -
                                    Edité par Robotechnic 8 décembre 2018 à 12:36:58

                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    si jamais j'abandonne c'est pour recommencer plus tard

                                    Socket Io c++

                                    × 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