|
|
|
|||||
|
ICE without DNS Server
Hi,
we have a tiny own linux distribution without any DNS Server realized. We just operate with IP addresses. This is a problem for an ICE server as it seems to be that it wants to resolve the local hostname to its IP address. The error message is: DNSException: exception ::Ice: NSException{ error = -5 host = entity_4 } Is there any possibility to run ICE without any DNS functionality? Thanks! Wolfgang |
|
||||||
|
Please see this thread regarding our support policy here on these forums:
Important note: Change in support policy |
|
|||||
|
Signature and profile is set.
Thank you for your help. Wolfgang Quote:
|
|
|||||
|
It is Ice for Python. But the -h option doesn't seem to take any effect in the following line:
adapter = self.communicator().createObjectAdapterWithEndpoin ts("Machine", "default -h Ice.Default.Host -p 10000") Independent of what is set up with -h, neither any hostname nor an ip address, ice only wants always to resolve the name of the local machine. Wolfgang Quote:
__________________
University of Erlangen-Nuremberg Institute for Manufacturing Automation and Production Systems Egerlandstr. 7-9 D-91058 Erlangen Germany URL: www.faps.uni-erlangen.de |
|
||||||
|
Ice.Default.Host is a configuration property (see the manual for more information). You should try to set it with the IP address of your machine and not specify the -h option in the endpoints of your object adapters (they will use the default set in Ice.Default.Host).
For example, with the IcePy hello demo, you can use the following to make sure it will use 192.168.0.3 as the default host: $ python Server.py --Ice.Default.Host=192.168.0.3 --Ice.Trace.Network Can you try this? Also, if you have the stack trace of the exception, it would be helpful to include it, this might give some hints... Benoit. |
|
|||||
|
It works fine! Thank you!
Another question: how can I bind the server to several ip addresses? with Ice.Default.Host you can just set one ip address. Wolfgang Quote:
__________________
University of Erlangen-Nuremberg Institute for Manufacturing Automation and Production Systems Egerlandstr. 7-9 D-91058 Erlangen Germany URL: www.faps.uni-erlangen.de |
|
||||||
|
Yes, it's not the purpose of the Ice.Default.Host property to define the endpoints of object adapters (and therefore the interfaces the object adapter will listen to). See the description of this property in the Appendix C.7 of the Ice manual for more information.
If you use the createObjectAdapterWithEndpoints method to create the object adapter, you have to specify the object adapter endpoints directly in the code, for example: Code:
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("Machine", "tcp -p 10000 -h 192.168.0.3:tcp -p 10000 -h 1.1.0.3");
Code:
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("Machine");
Code:
Machine.Endpoints=tcp -p 10000 -h 192.168.0.3:tcp -p 10000 -h 1.1.0.3 Benoit. |
|
||||||
|
Just a note that in the next release of Ice if you do not specify a -h parameter in the endpoint configuration and Ice.Default.Host is not set then Ice will listen on all local interfaces.
Regards, Dwayne |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|