- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个不断需要写入信息的进程。此外,还有第二个进程有时会连接到写入进程的“信息 channel ”,并且应该读取连接后写入的信息。此过程也可能会再次断开连接并重新连接几次。
我目前通过在我的 C++ 程序中使用 mkfifo() 来使用命名管道实现这一点。不幸的是,如果我在这个 fifo 上调用 open() 它会阻塞,直到一个进程打开 fifo 进行读取。这对于命名管道来说很正常,但我需要这个打开命令是非阻塞的。
在这种情况下,您知道 mkfifo 的替代方法吗?
海因里希
最佳答案
您可以在环回接口(interface)上使用 Unix 域套接字或常规 TCP 套接字。
关于c++ - mkfifo 备选方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4003311/
我遇到了以下代码的问题: #include #include #include #include #include int main(int argc, char*argv[]){ FILE
我有一个不断需要写入信息的进程。此外,还有第二个进程有时会连接到写入进程的“信息 channel ”,并且应该读取连接后写入的信息。此过程也可能会再次断开连接并重新连接几次。 我目前通过在我的 C++
我的 C 程序中的以下行应提供 All/Group/Owner 读写权限 mkfifo("/tmp/dumbPipe", 0666) 但是一旦我执行了代码并检查了未设置写入位的权限,我最终得到了 pr
我正在尝试使用 mkfifo 命令在 linux 下的 c 上创建一个命名管道。但是当我运行该程序时,我要么收到“没有这样的文件或目录”错误,要么什么也没有(控制台不显示任何内容) 这是我的代码: #
#include #include #include #include #include #include #include int main(void) { if(mkfifo
据我了解,根据https://linux.die.net/man/3/mkfifo , 我得到一个暗示,我必须有读取器和写入器文件,才能 利用管道文件。下面的来源是编写器文件, #include #
我有以下代码,我从 Xcode 中的 Swift 主程序调用它,例如在虚拟 iPhone 的模拟器中运行它时,它可以工作。它创建/tmp/MYFIFO。 int32_t init_udpC(void)
我在命名 Linux BASH、命名管道等方面相当陌生。我正在关注这篇文章中的一个例子: https://www.linuxjournal.com/content/using-named-pipes-
我正在编写一个脚本来设置机器环境。我有能力在机器上放置一个启动脚本,所以我试图在我的“工作站”机器上使用 unix 中的命名管道在线。 问题是,我无法控制这些机器何时可以联机。总共有 20 多台机器同
gcc (GCC) 4.7.2 c89 我正在使用管道 mkfifo。我有一个读者和一个作家。 我希望读者阻塞,直到文件中有内容。 有一个标志可以设置为非阻塞模式的 O_NONBLOCK。所以默认情况
我使用 mkfifo 创建命名管道。然后我使用下面的程序打开它。但是,程序卡在“fopen”行。这里有什么问题吗? int main(int argc, char** argv) { char* li
我想执行一个 bash 脚本来执行以下操作: 应用程序“ffmpeg”生成一个实时传输流 (.ts) 文件。我需要处理这个实时流(执行解复用等)。 现在我知道这必须通过 FIFO 来完成;但这是我的任
我正在使用命名管道来捕获另一个程序 (MATLAB) 中的外部程序 (wgrib2) 的输出。 MATLAB 代码如下,system()访问命令行以制作管道: system('mkfifo myfif
我已经尝试调试这个问题几个小时了,但我仍然卡住了...... 我在这段代码中遇到了“mkfifo”调用的段错误(它只是我整个代码的一部分,因为我认为其余部分与这里无关): #include "mark
我有一个动态加载的库,可以计算一个特殊值。我的程序需要访问该值(在 C 或 C++ 中)。我想到了命名管道。但他们对于这个目的似乎有些奇怪。如果通过管道实现,我的库会在文件中写入一个值,然后我的程序会
我正在尝试用 C 创建命名管道,但没有成功。 这是我的代码: pid_t pid = getpid() ; char * pipeNameo = malloc( sizeof(char) * 100
我正在尝试用 C 创建命名管道,但没有成功。 这是我的代码: #define FIFO_NAME "/tmp/myfifo" int main(){ int fd; fd = mkfi
我正在尝试编写两个使用 fifo 管道相互通信的程序。我使用了例子here (第 5.2 节),但我将那里的 mknod 更改为 mkfifo 并尝试将 gets 更改为 fgets。这是代码(写入
我试图用 FIFO 做一些简单的事情:读取行,但不是一次全部读取,结果出乎意料地“不起作用”。 没关系: $ f=$(mktemp -u) $ mkfifo $f $ { seq 5 > $f; }
我使用 mkfifo 创建命名管道。然后我用下面的程序打开它。但是,程序在“fopen”行挂起。这里有什么问题吗? int main(int argc, char** argv) { char* li
我是一名优秀的程序员,十分优秀!