Archived

This forum has been archived. Please start a new discussion on GitHub.

icepack registry problems

Hello,
I was running into some problems using the IcePack registry.
First of all, must the registry be running on the same host as my server application?

With the example configuration given by Benoit (in this forum) I managed to get a
server / client running, using the localhost (127.0.0.1).
However, when I tried to specify an IP-address in the configuration I did not achieve a
connection.
It eaven did not work when I put the address of my eth0 device. I was not using
a firewall or anything else.

My configuration files are:

for the icepack_registry:

IcePack.Registry.Client.Endpoints=default -p 11000 => working
#IcePack.Registry.Client.Endpoints=default -p 11000 -h xxx.xxx.xxx.xxx => not working
IcePack.Registry.Server.Endpoints=default
IcePack.Registry.Admin.Endpoints=default
IcePack.Registry.Data=db
IcePack.Registry.DynamicRegistration=1

for the client:
Proxy=PerformanceTest@PerformanceTestA01
#Ice.Default.Locator=IcePack/Locator:default -h xxx.xxx.xxx.xxx -p 11000
Ice.Default.Locator=IcePack/Locator:default -p 11000

and for the server:
PerformanceTestAdapter.Endpoints=default -z
PerformanceTestAdapter.AdapterId=PerformanceTestA01
#Ice.Default.Locator=IcePack/Locator:default -h xxx.xxx.xxx.xxx -p 11000
Ice.Default.Locator=IcePack/Locator:default -p 11000

The example I referred to is here (Title 'Confused with IcePack')
http://www.zeroc.com/vbulletin/showthread.php?threadid=197&highlight=host+address

Thanks
Wolfram

Comments

  • benoit
    benoit Rennes, France
    Hi Wolfram,

    Your server can run on a different host than the registry. This shouldn't be an issue as long as you correctly specify the Ice.Default.Locator proxy in your server configuration.

    Your configuration files looks fine. Is there any error messages displayed by the IcePack registry on startup when you specify an IP address for the registry client endpoints?

    Benoit.
  • Partially successful

    Hi Benoit,

    I got the thing running on one PC, specifying the eth0 - IP.
    I also had to add the address in the
    IcePack.Registry.Server.Endpoints=default -h xxx.xxx.xxx.xxx
    line.

    I also got it running with Server and Client on the same host and the registry on
    another host.
    Trying to run server and client on different hosts always gave me a Connection refused
    Exception of the client. And this made me really confused now. Something seems to be
    wrong with the configuration, just cannot imagine what.

    What I tried was:

    IcePack.Registry.Client.Endpoints=default -p 11000 -h xxx.xxx.xxx.xxx
    IcePack.Registry.Server.Endpoints=default -h xxx.xxx.xxx.xxx
    IcePack.Registry.Admin.Endpoints=default
    IcePack.Registry.Data=db
    IcePack.Registry.DynamicRegistration=1

    I did not change the client / server configuration file. I had the same problem with the
    demo/Ice/hello example.

    I also noticed another thing. I always had to remove all files in the IcePack - DB
    directory, otherwise I got a 'connection refused' or 'no suitable endpoint available for
    proxy... ' exception.
    Ah, and I am still using Ice-1.4.0.

    Wolfram
  • benoit
    benoit Rennes, France
    Ok, so both your server and client can connect to the registry which is running on a different host but now the problem is that your client can't talk to the server. Is this correct? Looking at your configuration again, I think it could be because you don't define on which interface your server should listen to:
    PerformanceTestAdapter.Endpoints=default -z

    Here, your server will listen on the default interface. Perhaps you need to specify a specific interface which is accessible to your client instead? (i.e.: PerformanceTestAdapter.Endpoints=default -z -h xx.xx.xx.xx)

    I recommend to start your client with --Ice.Trace.Network=2. The tracing should show to which IP address it's trying to connect to and this should give you some hints.

    Benoit.
  • Worked!

    Ok, specifying the endpoints for the Server (->PerformanceTestAdapter.Endpoints=default -z
    -h xx.xx.xx.xx) worked. Otherwise the client tried to connect to the localhost.
    And the Trace.Network property is a very nice thing :)

    Thanks a lot for your help!
    Think I understand IcePack a bit better now.