Inter Process Communication usually refers to kernel services that allow processes on the same machine to communicate with each other. It can also be used for non-kernel libraries that leverage the efficiency of localhost networking protocols to provide inter process messageing services. ZeroMQ is an example of the latter.

Kernel IPC services vary quite a bit from flavour to flavour of UNIX, and also have evolved to the extent that older APIs are considered obsolete. This is an area where it is difficult to write portable code unless you stick to TCP/IP and rely on the fact that modern kernels have greatly optimized their TCP stacks for connections within localhost. Note that localhost generally includes addresses such as,, etc. which provides a greater namespace for addressing endpoints on a single machine.

history | show excerpt | excerpt history