2010-04-27 3 views

ответ

9

Возможно, самым близким аналогом будут распространены уведомления (или уведомления для связи с одним и тем же процессом). Это не идеальный аналог, но он вписывается в одну и ту же нишу. Вы можете прочитать об этом в Apple Notification Programming Topics, особенно в разделе о distributed notification center.

+0

+1: эта функциональность меня как минимум приближает к тому месту, где я хочу возглавить. Благодаря! – jldupont

3

Есть порты Маха, которые, вероятно, сделают то, что вам нужно: http://en.wikipedia.org/wiki/Mach_(kernel).

+0

hmmm ... из быстрого просмотра, кажется, что «Mach Port» на самом деле просто IPC без семантики более высокого уровня публикации/подписки ... или я ошибаюсь? – jldupont

+0

@jldupont: да, порты Mach - это просто очереди и самый низкий уровень IPC в Mac OS X - на их основе создаются различные другие механизмы IPC. –

+0

спасибо за разъяснение. +1 за то, что указал на меня в направлении порта Маха ... не знал об этом. – jldupont

-2

Вы можете проверить DarwinPorts. Он должен включать библиотеки dBus.

+2

MacPorts является правильным источником для этого: http://www.macports.org/ Существует длинная и спорная история между реальным проектом MacPorts и скрепером DarwinPorts. – mkb

20

Если вам нужно использовать DBus, вы можете установить его через Homebrew.
Homebrew - это менеджер пакетов для OS X, предоставляющий множество библиотек, в которых в основном используется Linux в качестве основной цели. Пакета DBus можно найти here

Однако это не устанавливается по умолчанию, и если вы собираетесь писать Какао приложений путь будет использовать (распределенный) центр уведомлений, как mipadi объяснены в his post (который вам также принято).

Если вам требуется прочное промежуточное программное обеспечение для связи, вы также можете посмотреть IceTouch от ZeroC, который является библиотекой Cocoa для использования услуг и функциональных возможностей, предлагаемых их каркасом Ice. Пакет содержит IceStorm, например, который является сервером публикации/подписания или услугой IceGrid, которая может быть использована для построения широкомасштабных распределенных систем.