Archived

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

I want to run IcePack on different hosts

I want to run the demo (demo/IcePack/hello) on different hosts

I have two hosts:192.168.5.64 and 192.168.4.93
192.168.5.64: rh9 and ICE1.5.1 installed
192.168.4.93: rh9 and ICE NOT INSTALLED

I want to run the client from 192.168.4.93 to call the server registered on 192.168.5.64. Can I?

How should I do?

Should I run ICEPack service on both hosts?
and how to change the config files?

I have read the manual of ICE carefully , but I can't understand the indirect binding and ICEpack very well, there are few content about indirect binding.

Is there any simple demos for explaining the indirect binding?

Thanks

Comments

  • Yes, you can run the client on one machine and the server on a different machine.

    You need to run an IcePack node on the same machine as the server, that is, on 192.168.5.64. When you say that "Ice is not installed" on the client machine, I take it that you mean that the Ice services are not installed, but that the Ice run-time libraries are. (You must install the Ice run-time libraries on the client side or, alternatively, link the client statically if you don't want to use dynamic libraries on the client side.)

    When the client runs, it needs to know the location of the IcePack node. It does that by looking up the property IcePack.Registry.Client.Endpoints. So, you need to run the client with this property set to "default -h 192.168.5.64 -p 12000" (assuming that your IcePack node is using port 12000, as it does for the demo).

    Check out demo/IcePack/simple demo -- that illustrates simple indirect binding.

    Cheers,

    Michi.
  • THANK YOU!! I HAVE GOT!

    I change the config file on the client side, not the IcePack.Registry.Client.Endpoints but Ice.Default.Locator

    changed config:

    #
    # The IcePack locator proxy.
    #
    Ice.Default.Locator=IcePack/Locator:default -h 192.168.5.64 -p 12000
    # ~~~~~~~~~~ I changed it here

    #
    # IcePack registry configuration.
    #
    IcePack.Registry.Client.Endpoints=default -p 12000
    IcePack.Registry.Server.Endpoints=default
    IcePack.Registry.Internal.Endpoints=default
    IcePack.Registry.Admin.Endpoints=default
    IcePack.Registry.Data=db/registry
    IcePack.Registry.Trace.ServerRegistry=2
    IcePack.Registry.Trace.AdapterRegistry=2

    #
    # IcePack node configuration.
    #
    IcePack.Node.Name=node
    IcePack.Node.Endpoints=default
    IcePack.Node.Data=db/node
    IcePack.Node.CollocateRegistry=1

    #
    # Trace properties.
    #
    IcePack.Node.Trace.Activator=3
    IcePack.Node.Trace.Adapter=2
    IcePack.Node.Trace.Server=3

    THANK YOU AGAIN!!
  • Hi Michi,

    I have another question about IcePack. I want to implement loading balance by IcePack. For example, there are two servers reside on different hosts. I hope the client could connect to one of them dynamicly. How should I do?

    Regards,
  • Currently, IcePack cannot do this. We are considering adding such a feature in the near future.

    Cheers,

    Michi.