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

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

有帮助吗?

解决方案

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top