Using sockets to establish network-based IPC
Sockets are awesome. They are a bit like the Swiss Army knife for communications. The downsides of pipes and Windows messages are gone when you move to sockets. Of course, nothing comes for free, so be prepared to spend a lot of time thinking about error handling and memory management. Still, once you get the idea, sockets are not hard to use.
Sockets are endpoints of a connection over a network between two systems. Of course, the systems can live on the same machine, but they can also be at different ends of the world. Thanks to all the hard work people have done building networks since the 1960s, we can now reach all sorts of machines worldwide.
Networking 101
Computer networks have been around for a long time. However, each supplier had its own way of making machines talk to one another. Over time, standards emerged. As it goes with standards, there were many to choose from. These days, we have more or less standardized on setting...