socket-based communication, inter-process and client / server