clnttcp_create - Linux


clnttcp_create is a command that establishes a TCP-based client connection to a remote RPC server. It is primarily used for remote procedure call (RPC) operations, allowing client applications to invoke procedures on a remote server.


clnttcp_create(hostname, prognum, versnum, timeout)


  • hostname: The hostname or IP address of the RPC server.
  • prognum: The program number of the RPC service.
  • versnum: The version number of the RPC service.
  • timeout: The maximum time (in seconds) to wait for a response from the server (optional).


Simple usage:

client = clnttcp_create("", 100001, 1, 0);

Using a specific timeout:

client = clnttcp_create("", 100002, 2, 10);

Common Issues

  • Connection timeout: If the server is unresponsive or the network connection is too slow, a timeout error can occur. Increase the timeout value or ensure network connectivity.
  • Program or version number mismatch: Verify that the program and version numbers provided in the command match those on the server.
  • Firewall blocking: Make sure the RPC port (usually 111) on the server is open and accessible.


Creating an RPC client:

client = clnttcp_create(hostname, prognum, versnum);
result = clnt_call(client, procedure, indata, outdata, timeout);

Creating a secure RPC client with SSL:

sslctx = ssl_ctx_new();
client = clnttcp_create(hostname, prognum, versnum, timeout, sslctx);

Related Commands

  • rpcinfo: Provides information about available RPC services.
  • rpcgen: Generates RPC client and server code from an RPC language interface definition (IDL).