IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

ONC RPC sous windows


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2005
    Messages : 147
    Par défaut ONC RPC sous windows
    Bonjour à tous,

    J'ai développé récemment une application client/serveur qui utilise les RPC de sun, qui sont assez répandus sous UNIX. J'utilise notamment la commande rpcgen pour générer les stubs de mon client et mon serveur à partir du fichier idl ( *.x).

    Je voudrais à présent porter ces applications sous windows. Mon code est portable, mais l'utilisation de RPC me pose un problème : comment générer les stub sous windows ?

    J'utilise MinGW pour compiler, et j'ai trouvé dans le projet GnuWin32 le package sunRPC, qui fournis l'outil rpcgen. Cependant, je n'arrive pas à marrier GnuWin32 et MinGW, ou du moins je ne sais pas comment m'y prendre. Je pense qu'il faut utiliser également le package libgw32c qui fournit les bibliothèques et les headers pour rpc, mais il existe également des header rpc dans la distribution standard de MinGW.
    D'autre part, une fois que j'aurai réussi, grâce à votre aide , à compiler le serveur, est ce que ça va fonctionner ? Sous linux j'ai besoin du portmapper, et il doit exister un équivalent sous windows, sinon porter rpcgen serait inutile, mais où le trouver ?

    Ma question est donc : quelqu'un sait-il comment configurer le package sunRPC du projet GnuWin32 avec MinGW, puis compiler les sources générées, et enfin lancer un serveur (ou un client). Ou bien existe-il un tuto que je n'ai pas trouvé ?

    Merci d'avance

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2005
    Messages : 147
    Par défaut
    Bon, je vois que mon sujet n'attire pas les foules .

    J'ai bossé là dessus hier soir et j'ai réussi à installer rpcgen et les headers rpc qui sont dans le package libgw32 de GnuWin32, je peux générer les stubs client et serveur, mais maintenant j'ai un problème de header manquant à la compilation : le fichier généré pour le serveur (com_svc.c) inclue le header netconfig.h, qui est introuvable (je ne l'ai pas trouvé sur mon windows, pas plus que sur ma distrib linux sur laquelle j'utilise aussi rpcgen, seulement sous linux, les fichiers générés par rpcgen n'incluent pas ce header).

    Quelqu'un à t'il une idée de là où je pourrais trouver ce header (netconfig.h) ? Ou bien une solution pour m'en passer ?

    Merci

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Franchement, je n'ai jamais utilisé RPC avec MinGW. Il m'est arrivé de l'utiliser une fois sous Visual, mais j'ignore si le protocole est bien standardisé. Le fichier .idl doit être traité par MIDL.EXE, fourni avec Visual, qui génère les sources C des stubs et les en-têtes C/C++ déclarant les structures...
    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.

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2005
    Messages : 147
    Par défaut
    Salut Medinoc, merci pour ta réponse.

    Finalement j'ai trouvé le problème : rpcgen sous windows génère du code dans le style "SysVr4" alors que sous linux c'est par défaut dans le style "SunOS4.1", et ça change tout . Maintenant j'arrive à avoir un code qui ressemble à celui de linux, mais je crois que ce programme (rpcgen) est tout buggué : le code généré n'est pas valide, il déclare la fonction main comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    main() {
    ...
     
    argc=argc;
    argv=argv;
    }
    donc évidemment problème de compilation : argc et argv ne sont pas définis.

    Est ce que c'est moi qui ai raté quelque chose, ou bien j'abandonne tout de suite .

    Sinon pour MIDL.EXE, je ne suis pas sur à 100% mais je crois que ça génère du code pour les RPC windows qui ne sont pas compatibles avec les RPC sun, malheureusement.

    J'ai d'autre part trouvé des solutions payantes pour les RPC sun sous windows :
    http://www.onc-rpc-xdr.com/
    http://netbula.com/oncrpc/

    Ca me pousse à croire qu'il n'existe pas de solutions gratuites, surtout quand on voit le prix des licences...

    Enfin je vais tout de même continuer à chercher, je ne m'avoue pas vaincu

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2005
    Messages : 147
    Par défaut
    Bon, j'ai trouvé quelque chose

    C'est un ancien projet qui permettait d'utiliser les ONC RPC sous windows, l'auteur a porté rpcgen, le portmapper, rpcinfo, etc, et ça DEVAIT fonctionner.

    Maintenant le problème est que les librairies ont été compilées avec borland c++, et donc elles sont incompatibles avec mon compilateur (gcc sous MinGW). Je n'arrive pas pour l'instant à recompiler les sources à cause de problèmes de syntaxe je pense, j'ai ouvert un thread spécifique ici : http://www.developpez.net/forums/d79...ienne-syntaxe/

    Quand ça fonctionnera je ferai un joli post pour expliquer tout en détail.

    @+

Discussions similaires

  1. quel langage choisir pour faire de script sous windows
    Par pas05 dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 18/11/2002, 22h42
  2. Assembleur sous Windows et sous Linux
    Par Bibouda dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 28/10/2002, 07h55
  3. Tester connexion Internet active sous Windows
    Par Altau dans le forum Développement
    Réponses: 3
    Dernier message: 12/08/2002, 12h43
  4. Pas de fork sous Windows?
    Par chezjm dans le forum POSIX
    Réponses: 8
    Dernier message: 11/06/2002, 12h15
  5. OmniORB : code sous Windows et Linux
    Par debug dans le forum CORBA
    Réponses: 2
    Dernier message: 30/04/2002, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo