Interprocess communication is the mechanism provided by the operating system that allows processes to communicate with each other. This communication could involve a process letting another process know that some event has occurred or the transferring of data from one process to another.
Both processes must be in same machine
Named pipes have a presence in the file system.
More flexible since it doesn't require that both end should be alive at same time
Named pipe content resides in memory rather than being written to disk. It is passed only when both ends of the pipe have been opened. And you can write to a pipe multiple times before it is opened at the other end and read.
Both processes must be in same machine
Posix standard
Both processes must be in same machine.
Example: https://gist.github.com/gustavorv86/9e98621b44222114524399a3b4302ddb
Sockets provide point-to-point, two-way communication between two processes. There are two kind of sockets
Unix domain socket
Internet socket
Refer here for differences between them.
Processes can run in same machine or different machines
https://www.youtube.com/watch?v=dJuYKfR8vec
https://www.tutorialspoint.com/inter_process_communication/inter_process_communication_pipes.htm
https://images.app.goo.gl/oF2nHtZsZ5ZyYmjA8
https://images.app.goo.gl/Ha36XmxHaqvijQVQA
https://zeromq.org
https://images.app.goo.gl/yt8ggryARKZUHXrK8
https://images.app.goo.gl/rrmYHDFWnRhfuyiD9
https://images.app.goo.gl/eDR7H5LUxbUrmhhX9
https://www.tutorialspoint.com/what-is-interprocess-communication