Go to main content

ONC+ RPC Developer's Guide

Exit Print View

Updated: November 2020
 
 

Differences Between TI-RPC and TS-RPC

The major differences between transport-independent RPC and transport-specific RPC are illustrated in the following table. Also see Comparison Examples for code examples comparing TS-RPC with TI-RPC.

Table 14  Differences Between TI-RPC and TS-RPC
Category
TI-RPC
TS-RPC
Default Transport Selection
TI-RPC uses the TLI interface.
TS-RPC uses the socket interface.
RPC Address Binding
TI-RPC uses rpcbind() for service binding. rpcbind() keeps address in universal address format.
TS-RPC uses portmap for service binding.
Transport Information
Transport information is kept in a local file, /etc/netconfig. Any transport identified in netconfig is accessible.
Only TCP and UDP transports are supported.
Loopback Transports
rpcbind service requires a secure loopback transport for server registration.
TS-RPC services do not require a loopback transport.
Host Name Resolution
The order of host-name resolution in TI-RPC depends on the order of dynamic libraries identified by entries in /etc/netconfig.
Host-name resolution is done by name services. The order is set by the state of the hosts database.
File Descriptors
Descriptors are assumed to be TLI endpoints.
Descriptors are assumed to be sockets.
Libraries
TI-RPC requires that applications be linked to the libnsl library.
All TS-RPC functionality is provided in libc.
MT Support
Multithreaded RPC clients and servers are supported.
Multithreaded RPC is not supported.