1

我有一个消息对象序列化为二进制数据流(它可以是任何 std::streambuf),我想将它传输到另一个进程。关键是,服务器应用程序必须处理许多客户端,连接必须是异步的(因为有多个客户端)和双向的(在后台它可能由两个独立的连接实现)。消息长度可变,应该排队。我应该为此选择哪种 IPC 方法?有没有简单的方法通过应用程序传输流缓冲区?速度不是关键,但最好不要阻止应用程序太长时间。任何事情都将在 Windows 下本地完成(我的目标是 XP 和更新版本),不需要网络支持。

我还需要监听传入连接的可能性。服务器应该自动检测新连接,进行一些握手并接受,如果它是兼容的。我知道我需要自己写很多我提到的东西。无论如何,它必须有可能实现,但当然越简单越好。

4

1 回答 1

1

您可以在 Windows 中使用命名管道。请参阅 MSDN 参考:http: //msdn.microsoft.com/en-us/library/aa365150%28v=vs.85%29.aspx

您还可以将其设置为全双工(双向)和异步。如果您熟悉 Windows 上的文件 I/O API,那么它应该很容易使用。

于 2011-09-10T13:53:34.660 回答