|
|
|
|||||
|
dhcp questions
Hi there,
I have to support DHCP driven networks for an application I'm working on. My first question on this is if anyone can give me some hints on this scenario to avoid running into too many pitfalls. In particular, one "server" object has to keep track on each machine (the "clients", represented by Ice objects in this case) in the network, currently the machine is identified on it's IP address. However, this will not work any more with DHCP so I thought, creating UUID tokens for identification is the only solution. These tokens would have to be stored locally on the clients and be submitted on re-registering to the server object. Also, I suspect that storing proxy handles for the clients will not help in case that a particular client reconnects with a different IP address. To put it another way: I assume that an Ice proxy handle breaks on IP changes, right? regs, Stephan |
|
||||||
|
You might also consider to use indirect proxies with IcePack. Then you only need to configure the IcePack locator, and all your proxies will only have symbolic addressing information (adapter id plus object identity). The real IP address is then resolved with IcePack. This happens transparently at runtime. For more information, please see the chapter about IcePack in the manual.
|
|
|||||
|
Thanks for your answer michi,
it answers quite a lot of my questions. Quote:
regs, Stephan |
|
||||||
|
At least for the server, I think it's a reasonable requirement to have an up-to-date DNS entry!
For the clients, if you need to call them back, the safest is to register a callback at start-up with a unique (per-client) id. Assuming you use IP addresses and no DNS for the clients, this IP will remain valid as long as this client maintains the DHCP lease. In particular, if the client machine stays up and connected to the network (DHCP server), its IP address won't change, unless there is some administrative action like a reassignment of the IP-space offered by the DHCP server. Now, if the client machine is shut down and restarted after the expiration of its DHCP lease, your client app can re-register its callback when it's restarted. Easy. A more interesting scenario is if your client application keeps running while the IP address changes: for example the machine was disconnected for a long time -- maybe it's a laptop "suspended" for a while. In this case, the application would need to detect this IP address change, restart its object adapter and re-register the callback ... typically in a background thread. Cheers, Bernard |
|
||||||
|
Finally, as Marc suggested, have a look at IcePack. With IcePack, you only need a single machine with a fixed domain name that resolves correctly to an IP, and all the other machines can have dynamically assigned IPs. IcePack then takes care of working out where a particular service is running, and clients transparently resolve the current address of a server they want to call.
Cheers, Michi. |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| two questions | yanhbo | Help Center | 1 | 09-15-2005 12:34 AM |
| Questions about IceFreeze. | OrNot | Help Center | 2 | 07-18-2005 06:49 AM |
| Questions. | OrNot | Help Center | 4 | 07-12-2005 09:40 PM |
| IcePack questions | brian | Help Center | 6 | 01-27-2004 07:04 PM |
| two questions | simpley | Help Center | 6 | 11-06-2003 11:11 AM |