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

[Ice3.6b] Listening on correct/multiple interfaces


When specifying a hostname in server-side TCP endpoint, ICE runtime seems to use the first resolved IP as the bind address.
(Ice3.6b: cpp/src/Ice/Network.cpp, line 1042).

This behavior does not seem to be documented, and I believe this may also be unwanted. Two options that make more sense:

* Choose the resolved IP that is actually hosted on the machine
* Choose all IPs, see which binds() actually succeed (may be useful for high-availability IPs, in which machines can listen to remote IPs for failover scenario).

This would enable all machines a setup to share the same endpoint description, which is guaranteed to co-incide with the client's view because of the central DNS entry.