我有一个消息对象序列化为二进制数据流(它可以是任何 std::streambuf),我想将它传输到另一个进程。关键是,服务器应用程序必须处理许多客户端,连接必须是异步的(因为有多个客户端)和双向的(在后台它可能由两个独立的连接实现)。消息长度可变,应该排队。我应该为此选择哪种 IPC 方法?有没有简单的方法通过应用程序传输流缓冲区?速度不是关键,但最好不要阻止应用程序太长时间。任何事情都将在 Windows 下本地完成(我的目标是 XP 和更新版本),不需要网络支持。
我还需要监听传入连接的可能性。服务器应该自动检测新连接,进行一些握手并接受,如果它是兼容的。我知道我需要自己写很多我提到的东西。无论如何,它必须有可能实现,但当然越简单越好。