Endpoint

Understand the new IceRPC syntax for endpoint strings.

An endpoint is called a server address in IceRPC. An endpoint is the address of an object adapter (server with IceRPC) that accepts connections.

Ice uses its own syntax for endpoint strings, while IceRPC uses URIs. Here are a few examples:

Ice endpointCorresponding IceRPC server address URI
tcp -h localhost -p 10000
ice://localhost:10000?transport=tcp
default -h localhost -p 10000
ice://localhost:10000
ssl -h 192.168.100.10
ice://192.168.100.10:0?transport=ssl
default -h "::0" -p 10000
ice://[::0]:10000
tcp -h *
ice://[::0]:0?transport=tcp
tcp -h localhost -p 10000 -z -t 30000
ice://localhost:10000?transport=tcp&z&t=30000

The URI scheme identifies the RPC protocol to use. IceRPC supports two RPC protocols: ice and icerpc.

Ice endpoints support a number of transport-specific options in addition to host and port. IceRPC server addresses provide equivalent query parameters.

Ice tcp/ssl endpoint optionCorresponding query parameter in IceRPC server address URI
-z
z
-t timeout
t=timeout

These tcp/ssl query parameters have no effect on IceRPC itself: IceRPC doesn't support Ice-style compression and doesn't implement connection timeouts like Ice.

Ice's local endpoint options (such as --sourceAddress) have no equivalent in IceRPC. All server address parameters are "non-local". With IceRPC for C#, you would set TcpClientTransportOptions.LocalNetworkAddress to configure the tcp/ssl source address.

Was this page helpful?