Once you've created a seam (possibly a unix socket, many of my designs rely on those) exposing the same socket over TCP becomes relatively trivial and now you effectively have network transparency anyway (see also spiped).
But, yeah, so long as the client is a separate process, getting it transited over the network can be done separately.
But, yeah, so long as the client is a separate process, getting it transited over the network can be done separately.