在某些环境(例如 Java)中,使用 TCP/IP 套接字在使用“localhost”地址(IPv4 中的 127.0.0.1 或 IPv6 中的 ::1)的同一主机上的进程之间传递消息是很自然的。(因为 Java 往往不会在其 API 中公开其他 IPC 机制)。
显然,这有可能比通过管道传递消息的 IPC 或使用共享内存的 IPC 慢很多。
另一方面,如果 TCP/IP 网络堆栈意识到连接的两端都在环回接口上,它可能能够进行一些优化,以便效率可能与使用管道相差不大。
但是常见的操作系统(Windows、Linux)是否在其 TCP/IP 堆栈中实现了此类优化?