1

我想使用良好的旧 FIFO 将数据传递到我自己的iOS 应用程序的另一部分。我查看了 dispatch_io_create_with_path,但我希望对方能够使用普通的 read() 读取数据。是否可以使用 FIFO 文件?如何?

我在 Xcode7 ObjC 中尝试了下一个代码(指向 Documents dir + filename 的路径):

res = mkfifo(path, 0x777);

int fd;
fd = open(path, O_WRONLY);
write(fd, "test", 5);
close(fd);

mkfifo() 返回 0 但 open() 失败并返回 -1。有趣的是,如果我尝试使用 'O_RDONLY' 的 open() 程序正在等待,那么那里正在发生一些事情..

4

1 回答 1

2

天哪,我不敢相信我在那个上面浪费了几个小时……好吧,就是这样:错误在“0x777”部分。应该是“0777”。修复之后 - FIFO 对我来说很好用(iOS 9.2.1)。

于 2016-07-07T10:15:19.477 回答