A computer program product for transferring data between two applications through a local network connection, the computer program product having a non-transitory computer readable storage medium comprising program code operable to establish a socket connection between the two applications, and, responsive to two endpoints of the socket connection being on a host computer, transfer the data between the two applications through the socket connection using a set of socket application program interfaces in a pseudo socket layer, wherein the pseudo socket layer is between an application layer and a transport layer, wherein each socket application program interface in the set of socket application program interfaces has a set of local socket buffers for sending and receiving the data, and wherein the computer program code to transfer the data between the two applications through the socket connection comprises computer program code to:
- transfer the data from a user memory space within a first application of the two applications to a send buffer within a first kernel space of a first operating system associated with the first application;
- transfer the data from the send buffer within the first kernel space to a socket send buffer of a first socket application program interface of the set of socket application program interfaces associated with the first application;
- transfer the data from the socket send buffer of the first socket application program interface to a socket receive buffer of a second socket application program interface of the set of socket application program interfaces associated with a second application of the two applications;
- transfer the data from the socket receive buffer of the second socket application program interface to a receive buffer within a second kernel space of a second operating system associated with the second application;
- and
- transfer the data from the receive buffer within the second kernel space to a user memory space within the second application.