Is there a dead simple socket interface in C++ that I could use with MS Visual Studio Express Edition? I know there is the WinSock library, I guess I am looking for a wrappe
Check out Boost Asio.
I used to work a lot at the socket level and if that's what you need then yes Boost::Asio is great, if a little confusing.
However, if you just need to deliver data between processes (on the same or different machines) then I would go a bit further up the stack and look at something like ØMQ; take a look how easy it is to receive a "message" from another process:
zmq::context_t ctx(1);
zmq::socket_t sock(ctx, ZMQ_REQ);
sock.connect("tcp://localhost:5555");
zmq::message_t msg;
while(sock.recv(&msg)) {
std::string s(static_cast<char*>(msg.data()), msg.size());
std::cout << s;
}
Sending is just as simple.
zmq::context_t ctx(1);
zmq::socket_t sock(ctx, ZMQ_REP);
sock.bind("tcp://*:5555");
std::string s = "Hello you!";
zmq::message_t msg(s.size());
memcpy(msg.data(), s.data(), s.size());
while(true) {
sock.send(msg);
sleep(1);
}
ZeroMQ is very lightweight and takes care of connection, reconnection, transmission, framing, etc... All you have to have is your "message" payload that you want to show up on the other side of the pipe (in this case we just used simple strings).
It also takes care of a number of more advanced messaging techniques such as pub-sub (multiple receivers of the same messages).