IOS越獄開發之——進程通信

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

相關文章
相關標籤/搜索