Mac OS下的IPC方式種類不少,大約有下面幾種。
1. Mach API
2. CFMessagePort
3. Distributed Objects (DO)
4. Apple events
5. UNIX domain sockets
6. Internet sockets
7. Memory Mapping
第一種太底層,不多有人用蘋果也不推薦
第2,3,4種是蘋果提供的較爲高層的通信機制
第5,6種你們應該都知道,用sockets方法離散度,移植性更好。5和6有一些區別,5使用unix文件系統做爲通信媒介,能夠使用unix文件權限系統作通信限制,它的另一個名字就叫ipc sokets,6能夠作機器間通信作本地ipc也能夠,不過要額外作一些努力。
第7種... 有把握用的人很少(我最近也在看這個)。
我想以上一些夠你選擇了
另外,我能夠說一下個人選擇
1. 假如你的進程間通信不頻繁,只是發送一些異步信號,DO是很好的選擇,也就是樓上有人說得NSDistributedNotificationCenter
2. 若是你的進程間通信頻繁,但數據量不大,須要響應度高,domain sockets很好(DO也許也能知足,你本身測試測試)
3. 最後若是進程間通信頻繁,數據流巨大例如音頻,圖片等,須要real-time級別的, 選擇Memory Mapping, 缺點是這個技術複雜須要本身作內存paging管理。app