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

CORBA Discussion :

acces serveur OpenORB depuis internet


Sujet :

CORBA

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut acces serveur OpenORB depuis internet
    Je vais essayer d'etre clair et precis...

    J'ai developpé une application client/serveur style msn en java avec CORBA et openORB.
    Mon programme tourne nickel...en local.
    Je voudrais pouvoir faire tourner le serveur sur ma machine, et que les clients puissent se connecter depuis internet. Je suis derriere un routeur, je suis en IP locale fixe, et j'ai un compte chez DynDNS.org histoire d'avoir une IP externe fixe, ca peut servir pour faire tourner une appli serveur
    Je lance le NameService sur ma machine (port 2001 que j'ai ouvert dans mon routeur) qui me donne comme IP mon IP locale (192.168.1.20) ce qui est normal. Je lance le serveur en lui donnant l'IP 192.168.1.20, et quand je lance un client, que je lui donne mon adresse externe en 86.xx.xx.xx, le NameService gueule en me disant:

    [Worker for ServerProtocol: (iiop) /0.0.0.0:2001] [FATAL] (orb.default-assertion-logger): IllegalCondition [Fatal error while accepting connection: org.omg.CORBA.COMM_FAILURE: vmcid: 0x0 minor code: 0 completed: No]
    org.openorb.util.Trace$IllegalConditionError: Fatal error while accepting connection: org.omg.CORBA.COMM_FAILURE: vmcid: 0x0 minor code: 0 completed: No
    at org.openorb.util.Trace.signalIllegalCondition(Unknown Source)
    at org.openorb.iiop.IIOPServerProtocol.listen(Unknown Source)
    at org.openorb.iiop.IIOPServerProtocol.run_listen(Unknown Source)
    at org.openorb.net.ServerManagerImpl$ProtocolRunner.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Exception in thread "Worker for ServerProtocol: (iiop) /0.0.0.0:2001" org.openorb.util.Trace$IllegalConditionError: Fatal error while accepting connection: org.omg.CORBA.COMM_FAILURE: vmcid: 0x0 minor code: 0 completed: No
    at org.openorb.util.Trace.signalIllegalCondition(Unknown Source)
    at org.openorb.iiop.IIOPServerProtocol.listen(Unknown Source)
    at org.openorb.iiop.IIOPServerProtocol.run_listen(Unknown Source)
    at org.openorb.net.ServerManagerImpl$ProtocolRunner.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

    Voila alors en fait j'ai cherché sur le net un peu mais je n'ai pas trouvé grand chose, a part peut etre une piste comme quoi le serveur utilise a chaque fois un port different, donc on ne sait pas lequel ouvrir dans le routeur et je ne sais meme pas comment savoir quel port il a choisi. Peut etre une solution serait de fixer le port du serveur...

    help me please!!!!

  2. #2
    Membre habitué
    Inscrit en
    Août 2005
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 161
    Points : 193
    Points
    193
    Par défaut
    Oui, tu peux fixer le port du côté server, du coup tous les objets distants auront ce port dans leur IOR au lieu d'un port aléatoire.

    Pour OpenORB c'est l'option -ORBPort=xxxx si j'en crois le net.

    Ca doit pouvoir aider dans ton cas.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    j'ai deja utilisé cette option pour lancer le NameService -ORBPort=2001 et j'ai essayé de l'utiliser aussi pour lancer le serveur avec -ORBPort=2000 et quand je lance le client avec mon adresse externe en parametre, il me sort:

    org.omg.CORBA.TRANSIENT: vmcid: 0x0 minor code: 2 completed: No
    at org.openorb.CORBA.Delegate$RequestState.findNextBinding(Unknown Source)
    at org.openorb.CORBA.Delegate$RequestState.failoverFatal(Unknown Source)
    at org.openorb.CORBA.Delegate$RequestState.receiveSystemException(Unknown Source)
    at org.openorb.CORBA.Delegate$RequestState.access$000(Unknown Source)
    at org.openorb.CORBA.Delegate.request(Unknown Source)
    at org.openorb.CORBA.Delegate.is_a(Unknown Source)
    at org.omg.CORBA.portable.ObjectImpl._is_a(Unknown Source)
    at org.omg.CosNaming.NamingContextHelper.narrow(Unknown Source)
    at client.MsnCorbaClient.main(MsnCorbaClient.java:61)
    Caused by: org.omg.CORBA.COMM_FAILURE: Cannot connect to target (java.net.ConnectException: Connection timed out: connect) vmcid: 0x444f7000 minor code: 266 completed: No
    at org.openorb.iiop.IIOPTransport.open(Unknown Source)
    at org.openorb.iiop.SocketQueue.open(Unknown Source)
    at org.openorb.iiop.IIOPClientChannel.request_open(Unknown Source)
    at org.openorb.iiop.IIOPClientChannel.begin_marshal(Unknown Source)
    at org.openorb.iiop.IIOPClientRequest.begin_marshal(Unknown Source)
    ... 5 more
    Caused by: java.net.ConnectException: Connection timed out: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(Unknown Source)
    at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at org.openorb.iiop.IIOPTransport.createSocket(Unknown Source)
    ... 10 more


    et le name service dit toujours la meme chose...

  4. #4
    Membre averti
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 219
    Points : 302
    Points
    302
    Par défaut
    As-tu essayé de lancer ton client sur la même machine que le serveur (en filant au client localhost ou l'IP locale ou l'IP externe) ?
    Si ça marche: pb firewall ou routeur.
    Si ça marche pas: pb de paramètres de lancement (serveur ou client)

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    je fais toujours mes tests sur la meme machine, et quand je file au client l'addresse locale a savoir 192.168.1.20, ca marche nickel mais pas quand je lui file l'adresse externe...niveau firewall, je l'ai desactivé et niveau routeur j'ai ouvert tout les ports que j'utilise, apres il faut voir quel ports utilise le client et le serveur car le seul port que je connaisse est celui du nameservice(c'est moi qui l'ai fixé avec -ORBPort=2001) je pensais que c'etait pas une mauvaise idée de fixer aussi celle du serveur a 2000, mais comme je dis ca ne marche pas quand je lance le client ...

  6. #6
    Membre habitué
    Inscrit en
    Août 2005
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 161
    Points : 193
    Points
    193
    Par défaut
    Si je résume:
    - le NS tourne avec son IP locale 192.168.1.20
    - tu donnes au client l'IP "externe" 86.xx.xx.xx
    - le client contacte le NS grâce à l'IP externe (construction des proxy ou IOR grâce à cette IP externe).

    Donc :
    - ton IP externe est traduite en IP interne, y'a du NAT dans l'histoire au niveau routeur.

    Donc même si le NS est contacté (les messages TCP passent), le NS n'est pas d'accord avec l'IP externe contenue dans l'invocation CORBA.

    Si c'est bien ça, je te renvoie aux sujets CORBA/NAT, ex: http://gsd.ime.usp.br/integrade/publ...ns/doa2005.pdf.

    Je ne me suis pas penché sur le pb, mais je n'ai pas entendu parler d'autre solution que d'avoir un proxy qui traduit complètement les IP dans les requêtes IIOP.

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    je vais me pencher la dessus, mais ca m'a l'air pas gagner car j'ai pas tout compris... J'essairais ca et je vous tiens au courant

Discussions similaires

  1. [WS 2008] serveur inacessible depuis internet !
    Par sami_c dans le forum Windows Serveur
    Réponses: 7
    Dernier message: 05/05/2010, 18h54
  2. Pb acces TSWEB Win2008 depuis internet
    Par fzaweb dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 28/04/2009, 12h04
  3. [Wamp] Rendre le serveur accessible depuis internet
    Par john7911 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 15
    Dernier message: 25/01/2009, 00h04
  4. Accès serveur MySql depuis Internet
    Par marcootz dans le forum Outils
    Réponses: 3
    Dernier message: 30/10/2007, 16h31
  5. Accès serveur WEB depuis l'internet
    Par Ultra-FX dans le forum Réseau
    Réponses: 2
    Dernier message: 26/05/2005, 17h00

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