Archived
The ICE Not working when ICE server on Static IP, but works fine on local network
The problem: **
The ICE client is able to invoke objects on ICE server but when the ICE server is trying to perform the same, no invocation ICE client object is made._ BUT, when this scenario is tested on local network the system works like charm. **_
Is their, any setting option required at ICE server end to checked or is it something else to be taken care of.
When the System doesn't work.
1. ICE Server: on static IP
2._ ICE Client :_ On any device with internet connectivity.
When the System work as expected
1. ICE Server: _ On the local network
2. ICE Client : _ On the local network
Comments
-
Hi,
I recommend enabling network tracing on the server with
Ice.Trace.Network=2
, you will better understand how Ice works for sending requests from the server to the client. Basically, the problem is that the server tries to establish a new TCP connection to your client which is on the Internet. It fails to do so because this client is very likely unreachable directly (behind a firewall?).To deal with clients which can be behind a firewall, you need to use Ice bi-directional connections. We provide two ways to use such connections:
- with the Glacier2 service: https://doc.zeroc.com/ice/3.7/ice-services/glacier2
- directly using the Ice APIs: https://doc.zeroc.com/ice/3.7/client-server-features/connection-management/bidirectional-connections
Using Glacier2 is usually the simplest solution. You can check out our demos that demonstrates both Glacier2 and bi-dir connections (in the
Glacier2
andIce/bidir
directories)Cheers,
Benoit.0