[omniORB] RE: client publishes localhost (127.0.0.1) when listening on hostname

Igor Lautar Igor.Lautar at hermes-softlab.com
Tue Jun 10 16:53:43 BST 2008


Hi,

Duncan Grisby wrote:
> On Tuesday 10 June, "Igor Lautar" wrote:
> 
> That's because the default publishing rule is to publish just one
> address. Your server is presumably starting before the network
> interfaces are initialised, meaning only the loopback is available
> when omniORB looks.
> 
> For what you are trying to achieve, you should actually specify just
> one endPoint, and use endPointPublish to publish the address. You
> should use this setup:
> 
>   endPoint = giop:tcp:0.0.0.0:23230
>   endPointPublish = giop:tcp:<hostname>:23230

Just to sumarize if I understand properly:
1) omniORB on server starts-up before wanted network interface is
initialized
   - or some interface goes down in the meantime and comes back later
etc., but
     this is not 100% reproducible, have seen it on XP/Vista, omniORB
was initialized
     when non-loop was available, but after some network problems
started to publish
     127.0.0.1
2) omniORB takes whatever interface is available (127.0.0.1) and uses
this when
   publishing IORs
3) some network interface comes up (ex. 192.168.0.1)
4) omniORB now listens on new interface as well (due to 0.0.0.0
endpoint) but
   still only publishes interface from point (1)

Is my understanding correct?

One other question.
We have started using two endpoints (giop:tcp:0.0.0.0:23230,
giop:tcp:<hostname>:23230)
after moving to omniORB 4.1.1 (from 4.0.7). With default Vista
instalation, you also
get IPv6, so with endpoint set to giop:tcp:<hostname>:23230, it wouldn't
bind to IPv4
interfaces.

Is this normal behaviour? My understanding (when specifying such
endpoint) would be:
'bind to everything this hostname resolves to, IPv6 or IPv4'.

Does this makes sense or is my assumption invalid?

Thank you for help,
Igor



More information about the omniORB-list mailing list