Partage
  • Partager sur Facebook
  • Partager sur Twitter

Lancer un programme sur une autre machine

et aussi recuperer des donnee entrée a l'ouverture du programme

Sujet résolu
    11 mai 2006 à 18:31:07

    Salut,
    Ben en fait mon proble est pas facile a expliquer donc je vais fair de mon mieux :euh: .

    En fait j'aimerais bien heberger un serveur web et un serveur jeu (cs) sur deux machines diférentes. Et il faudrais aussi pouvoir redemarer un serveur jeu par une page que serai chargée sur le serveur web.
    J'ai donc des question en php et en C.

    En php : il faudrait pouvoir lancer un programme sur la machine.

    En C : -Il faudrait pouvoir executer un programme qui se situe sur une autre machine et qu'il s'execute sur cette autre machine.
    -Il faudrais aussi pouvoir recupérer les données entrées avec le nom du programme (par exemple : "mon_programme.exe -donnee1 -donnee2" il faudrai que donnee1 et donnee2 soyent repris dans des variables dans le programme)
    -Et enfin, il faudrai pouvoir verifier si un programme est lancer et pouvoir le lancer ou le stoper.


    Merci de votre aide ^^


    @++
    • Partager sur Facebook
    • Partager sur Twitter
      11 mai 2006 à 19:24:09

      Pour le PHP, tu dois pouvoir utiliser exec ou passthru ou genre si mes souvenirs sont corrects.

      Pour la partie "C", Il existe très probablement un tas de bibliothèques qui font ça ou tu peux utiliser des transports qui existent déjà tels que SSH : Tu ssh sur la machine distante qui exécute un serveur SSH et tu lances le programme. Tu peux faire ça de manière tout à fait batarde en invoquant ssh, l'utilitaire, depuis ton programme C. Après ça relèverait plus du shell script mais pour vérifier que le serveur est lancé, suffira d'un coup d'oeil à l'arbre des processus.

      Bon, la solution C pure et dure avec des sockets, tu peux faire ça ; de toute manière, tu te rends bien compte qu'il faut un bout qui attend sur la machine distante que l'autre bout lui donne l'ordre de lancer le serveur ou lui demande des infos sur celui-ci. Ça peut se faire sans trop de soucis : Tu as un serveur sur la machine distante codé en C, qui fait socket, bind, listen, select, accept, puis read et write selon un ptit protocol que tu auras toi-même établi. De l'autre côté (la machine qui lance le programme à distance), tu socket, connect, puis read et write selon le même proto.

      Voilà tout, vas lire de la doc correspondant à ta plateforme. Pour Unix-like tu as tes manpages,
      $ man socket
      $ man bind
      etc.
      Pour Windows, tu as MSDN, tu vas sur Google, tu tapes "site:msdn.microsoft.com socket", "site:msdn.microsoft.com bind", etc.
      • Partager sur Facebook
      • Partager sur Twitter
        27 mai 2006 à 9:10:41

        Salut,
        Merci de ta reponse.

        Alors pour le PHP sa fonctionne avec exec, merci.

        Pour le C, j'ai oublier de le dire mais une des deux machines est sur windouws l'autres sur linux. J'ai donc chercher dans SDL que je savais multi-platformes. J'ai trouver SDL_net. Mais comme je ne fais pas d'anglais (je sais c'est pas bien :-° ), j'ai pas tous compris à la doc. Mais j'ai vu que M@teo alais sortir un cours dessus je vais donc atendre.

        Merci pour tes informations :D .
        @++

        P.S.: j'ai mis du temps a repondre, mais j'ai pas encore eu l'ocation de le faire avant.
        • Partager sur Facebook
        • Partager sur Twitter

        Lancer un programme sur une autre machine

        × 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