Inter-Procedure Call Socket

September 22, 2025 / Web Hosting

An Inter-Procedure Call (IPC) Socket, also known as a UNIX Domain Socket, is a special type of socket available in POSIX operating systems such as Linux and UNIX. Unlike regular network sockets that send data over TCP/IP networks, IPC sockets work entirely within the local host.

This makes them ideal for fast, secure communication between processes running on the same machine.

What is an IPC / UNIX Domain Socket?

  • It is a virtual socket that does not use IP addresses or ports.
  • Instead of network interfaces, it relies on file system paths for communication.
  • It behaves like a byte-stream network connection, but is confined to the local system.

How IPC Sockets Work

IPC sockets use the same function calls as network sockets but are optimized for local communication.

  • sendmsg() >> used to send data/messages between processes.
  • recvmsg() >> used to receive data/messages.

Because the communication stays within the system, it is faster and lighter than traditional TCP connections.

Example Socket Paths

Unlike TCP sockets, UNIX domain sockets are represented as files in the system:

/tmp/mysocket.sock
/var/run/postgresql/.s.PGSQL.5432

The Inter-Procedure Call (IPC) Socket, or UNIX Domain Socket, is a simple yet powerful way for processes on the same system to exchange data. With faster performance, higher security, and efficient local communication, IPC sockets remain widely used in databases, web servers, and system services.