【发布时间】:2010-10-23 09:30:07
【问题描述】:
我有一个持续需要写入信息的过程。此外,还有第二个进程有时会连接到写入进程的“信息通道”,并且应该读取连接后写入的信息。此过程也可能会断开连接并重新连接几次。
我目前正在通过在我的 c++ 程序中使用 mkfifo() 来使用命名管道来实现这一点。不幸的是,如果我在这个 fifo 上调用 open(),它会阻塞,直到一个进程打开 fifo 进行读取。这对于命名管道来说是很正常的,但我需要这个 open 命令是非阻塞的。
您知道在这种情况下可以替代 mkfifo 吗?
海因里希
【问题讨论】:
-
我发现 mqueue.h 看起来很有趣。有人知道这是否是一个合适的解决方案?
-
您最终将不得不阻止或丢弃数据,那么您更喜欢哪一个?