gpt4 book ai didi

cocoa - cocoa 中的命名管道

转载 作者:行者123 更新时间:2023-12-03 16:50:22 25 4
gpt4 key购买 nike

我需要在两个应用程序之间进行高性能通信。我尝试过 AppleEvent 但这并不是一个好的选择。我想使用命名管道,但我不知道如何在 COCOA 中使用它们。

预先感谢您的帮助:)

最佳答案

在 Cocoa 中没有特殊的方法可以做到这一点。基本上,您将创建 fifo,一旦获得它,您的进程就可以使用标准 Cocoa 包装器(例如 NSFileHandle)读取/写入它。您可以使用 NSFileManager 或其他方式检查它是否存在,但您仍然需要在某个时刻调用 mkfifo(2) 来创建命名管道。

所以:

if( mkfifo("/tmp/my_named_pipe", 0644) == -1 ) {
// some error handling
abort();
}

// Open and use the fifo as you would any file in Cocoa, but remember that it's a FIFO
NSFileHandle* fifoIN = [NSFileHandle fileForReadingAtPath:@"/tmp/my_named_pipe"];

就个人而言,我建议使用 BSD 或 Unix 套接字。有很多框架支持套接字,有时双向 channel 也更有用,您不必担心读取器或写入器是否先准备好。

关于cocoa - cocoa 中的命名管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3816329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com