Archived

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

Forking server.

Hi!

I need to have instances of objects requested by client in separate processes. One process with object realization per client.

Can I achieve such architecture with ICE?

Is it possible solution to write an ICE server so as it starts up a new ICE server when receives a request from a new Client and then acts as ICE client of the new server dispatching requests from the particular Client to it?

Thank you in advance!
Sergey.

Comments

  • No, this is not possible. You can write user-code that forks a server, but Ice doesn't do it. See also the discussion in this thread:

    http://www.zeroc.com/vbulletin/showthread.php?threadid=972
  • Hello Marc!

    Thank you.

    But could you please answer my second question:

    Is it possible solution to write a server so as it starts up a new ICE server when receives a request from a new Client and then acts as ICE client of the new server dispatching requests from the particular Client to it?

    Sergey.
  • Yes, but it's not very straightforward. The best example we have for this is Glacier (not Glacier 2).

    Why do you want to do this? It is a rather untypical design choice for distributed object applications.
  • I have a dynamic library that has to be instantiated for every client. I can not change the library so I am to follow this requirement.

    Am I right that in the same way as GlacierStarter starts new router on demand, starter of mine can run new "server" instance and return new proxy to client?
  • Originally posted by ivanov
    Am I right that in the same way as GlacierStarter starts new router on demand, starter of mine can run new "server" instance and return new proxy to client?

    Yes, that's correct.