我有一个可可应用程序,我想在其中使用UNIX 域套接字与系统范围的守护程序进行通信。
第一步,我的客户端将连接到守护程序,然后侦听来自守护程序的传入日志语句。
我发现的示例,来自 Apple 的 CFLocalServer,用于CFSockets
在两个命令行实用程序之间进行通信。我能够很好地设置代码的守护进程部分,因为我可以自由决定在我的守护进程([[NSRunLoop currentLoop] run]
或CFRunLoopRun()
)中调用什么函数。但是,我对客户端有疑问,这是一个可可应用程序。
在代码示例中,客户端首先创建它们,连接,将它们作为源添加到当前CFRunLoop
的监听操作,然后调用CFRunLoopRun();
直到被取消CFRunLoopStop(CFRunLoopGetCurrent());
我的问题是:我可以在一个由 Objective-C 可可应用程序创建的串行调度队列的块内完成所有这些操作,而不会干扰应用程序主线程中的 NSRunLoop 吗?