Open topic with navigation

TIBCO Rendezvous® 8.7.0

# POSIX Local IPC Sockets

POSIX local IPC sockets, also known as UNIX domain sockets, are an alternative to the TCP/IP sockets that Rendezvous normally uses for communication between client and daemon. When available, IPC sockets yield faster performance than TCP/IP sockets. All other Rendezvous behavior is transparent to this choice of socket protocol.

Availability

IPC sockets are available only on UNIX platforms that support `AF_UNIX` or `AF_LOCAL` socket types.

Behavior

On UNIX platforms where IPC is available, they are the default behavior of Rendezvous (release 8.3 and later). That is, Rendezvous automatically uses IPC sockets for communication between client and daemon processes on the same host computer. To override (or force) this default behavior, you can explicitly configure either the daemon or the client (see below).

On platforms where IPC is not available, requests to use IPC always fail.

## Daemon Configuration

The daemon’s `-listen` parameter accepts values that specify the available socket protocols.

Socket Type for Client-Daemon Communication—Daemon

Value | Behavior
`tcp:``port` | The daemon listens only for TCP connection requests. If the operating system prevents the daemon from listening for TCP connections, the daemon exits immediately.
`ipc:``port` | The daemon listens for both IPC and TCP connection requests. If the operating system prevents the daemon from listening for either TCP or IPC connections, the daemon exits immediately.
`port` | The daemon listens for both IPC and TCP connection requests. However, if the operating system prevents the daemon from listening for IPC connections, the daemon does not exit; instead, it degrades gracefully, listening only for TCP connection requests.
`ipc:``ip_addr``:``port` `ip_addr``:``port` | When an `ip_addr` is present, the daemon listens for both IPC and TCP connection requests, listening only on the interface `ip_addr` (on `port`). If `ip_addr` is `127.0.0.1`, then the daemon listens for connection requests only from local clients. If the prefix `ipc:` is present, and the operating system prevents the daemon from listening for either TCP or IPC connections, the daemon exits immediately. If the prefix `ipc:` is absent, and the operating system prevents the daemon from listening for IPC connections, the daemon does not exit; instead, it degrades gracefully, listening only for TCP connection requests.

More than One Daemon

When starting two (or more) daemons on the same host computer, you must specify distinct `port` numbers. If one daemon is already using a `port` number, and another daemon attempts to reuse it, the second daemon exits immediately.

## Client Configuration

Client programs can specify the preferred socket protocol for connecting to the daemon; specify the socket preference in the `daemon` parameter of the transport creation call.

Socket Type for Client-Daemon Communication—Client

Value | Behavior
`tcp:``port` | The client connects to the daemon using a TCP/IP socket.
`ipc:``port` | The client connects to the daemon using an IPC socket. If the connection request fails, then the transport creation call fails too.
`port` | The client first attempts to connect to the daemon using an IPC socket; if that attempt fails, then the client attempts to connect using a TCP/IP socket.

Note | IPC sockets are available only if the client and the daemon reside on the same host computer.

Daemon Auto-Start

If no daemon is listening for client connections on `port`, then the transport creation call attempts to start one automatically. The transport creation call replicates its own `daemon` argument as the new daemon’s `-listen` argument.

When a client specifies a remote daemon that is not present, the client does not auto-start a daemon in that remote location.

Did you find this helpful?

Yes No
Great!
Thanks for taking the time to give us some feedback.
Sorry about that

Why wasn't this helpful? (check all that apply)

Could not find what I was looking for
Instructions confusing or unclear
Instructions did not work

Want to tell us more?

Please select at least one option or provide details about the issue!!

Error occurred while submitting feedback.

Error2 occurred while submitting feedback.

TIBCO Rendezvous®

Copyright © 1997-2023. Cloud Software Group, Inc. All Rights Reserved.