<br>Hi<br><br><div style="margin-left: 40px;">#!/usr/bin/env python<br><br>import sys, os<br>import CORBA, PortableServer<br>import Fortune, Fortune__POA<br><br>FORTUNE_PATH = &quot;/usr/games/fortune&quot;<br><br>class CookieServer_i (Fortune__POA.CookieServer):<br>
    def get_cookie(self):<br>        pipe   = os.popen(FORTUNE_PATH)<br>        cookie = pipe.read()<br>        if pipe.close():<br>            # An error occurred with the pipe<br>            raise Fortune.Failure(&quot;popen of fortune failed&quot;)<br>
        return cookie<br><br># By default, listen on port 2809, the default corbaloc port, so<br># clients can access the object with corbaloc::<a href="http://host.name/fortune">host.name/fortune</a><br>if &quot;-ORBendPoint&quot; not in sys.argv:<br>
    sys.argv.extend([&quot;-ORBendPoint&quot;, &quot;giop:tcp::<span style="color: rgb(255, 0, 0);">2809</span>&quot;])<br><br>orb = CORBA.ORB_init(sys.argv)<br>poa = orb.resolve_initial_references(&quot;omniINSPOA&quot;)<br>
<br>servant = CookieServer_i()<br>poa.activate_object_with_id(&quot;fortune&quot;, servant)<br><br>poa._get_the_POAManager().activate()<br>orb.run()<br><br><br></div>Maybe i don&#39;t understand you but 2809 seems pretty much a specific port..<br>
<br><br><br><div class="gmail_quote">2010/2/16 DESCOMBES Thierry <span dir="ltr">&lt;<a href="mailto:descombes@lpsc.in2p3.fr">descombes@lpsc.in2p3.fr</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
This solution is not acceptable for my application: I need to use a specific TCP port (and only one)...<br>
It should be possible to &quot;force the object key&quot;, on the servant side, (before or after instantiation) no ? It would be &quot;cross-orb&quot; capable, and smarter...<br>
<br>
Thanks<br>
<br>
<br>
Thomas Zumbiehl a écrit :<div><div></div><div class="h5"><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Or there&#39;s another way, avoiding the use of those and being cross-orb capable :<br>
You juste need to stringify the top servant&#39;s IOR, create a socket on the server within a separate thread before entering the ORB&#39;s run method (which is blocking). That thread should wait for connections, send the stringified IOR, close the socket and get back on waiting.<br>

That work for me fine for several years now, with both java and C++ clients.<br>
<br>
This avoids you from implementing a name service. The only things the clients should now is the name ou address and port number of the server.<br>
<br>
Thomas Zumbiehl<br>
CTO<br>
BV Associates<br>
<a href="http://www.bvassociates.fr" target="_blank">http://www.bvassociates.fr</a><br>
<br>
-----Message d&#39;origine-----<br>
De : <a href="mailto:omniorb-list-bounces@omniorb-support.com" target="_blank">omniorb-list-bounces@omniorb-support.com</a> [mailto:<a href="mailto:omniorb-list-bounces@omniorb-support.com" target="_blank">omniorb-list-bounces@omniorb-support.com</a>] De la part de Martin B.<br>

Envoyé : mardi 16 février 2010 16:16<br>
À : OmniORB Support<br>
Objet : Re: [omniORB] connecting a servant without IOR parameter (just IPaddress and TCP port) ?<br>
<br>
DESCOMBES Thierry wrote:<br>
  <br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello,<br>
Quite all is in the mail subject... I need to develop a network application client/server &quot;easy to deploy&quot;.<br>
Is it easily possible to develop such an application with the omniORB API, which can connect a servant directly, just using an IP adress and a TCP port (and maybe some others static informations...) ?<br>
    <br>
</blockquote>
<br>
Check the docs (and mailing list archives) for &quot;corbaname&quot; and &quot;corbaloc&quot;.<br>
<br>
br,<br>
Martin<br>
<br>
<br>
<br>
_______________________________________________<br>
omniORB-list mailing list<br>
<a href="mailto:omniORB-list@omniorb-support.com" target="_blank">omniORB-list@omniorb-support.com</a><br>
<a href="http://www.omniorb-support.com/mailman/listinfo/omniorb-list" target="_blank">http://www.omniorb-support.com/mailman/listinfo/omniorb-list</a><br>
<br>
_______________________________________________<br>
omniORB-list mailing list<br>
<a href="mailto:omniORB-list@omniorb-support.com" target="_blank">omniORB-list@omniorb-support.com</a><br>
<a href="http://www.omniorb-support.com/mailman/listinfo/omniorb-list" target="_blank">http://www.omniorb-support.com/mailman/listinfo/omniorb-list</a><br>
  <br>
</blockquote>
<br>
<br>
_______________________________________________<br>
omniORB-list mailing list<br>
<a href="mailto:omniORB-list@omniorb-support.com" target="_blank">omniORB-list@omniorb-support.com</a><br>
<a href="http://www.omniorb-support.com/mailman/listinfo/omniorb-list" target="_blank">http://www.omniorb-support.com/mailman/listinfo/omniorb-list</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Alberto Casado. <br>