我有以下情形:服務器與Mac OS X上的許多客戶端之間的IPC
服務器應該是守護程序。 其他應用程序應該是客戶端。 許多客戶端應該與服務器進行通信,以便一次完成由服務器完成的任務。 這些任務如複製文件,刪除文件等
我的解決方案: 服務器有5個工作線程,每個包含命名管道。每個管道的可用性狀態保存在共享內存結構中。當客戶端想要與服務器通信時,它會檢查共享內存中的哪個管道可用,然後打開管道&在該管道上發送其消息,該管道是該客戶端請求的服務器服務器的相應工作線程。該工作線程在該管道上發送請求狀態(成功/失敗),以便客戶端知道上次的操作狀態。
據我所知,Mac os上的管道是單向的&他們缺乏創建像Windows這樣的無限實例的能力。
什麼樣的機制最適合這種溝通?
謝謝, Vaibhav。
你確定,你想重新發明輪子嗎? – 2012-01-18 12:51:26