Есть ли эквивалент Linux DBus на OSX? Я имею в виду, есть ли в OSX «шина сообщений» по умолчанию?Есть ли эквивалент DBus на OSX?
Отказ от ответственности: OSX новичок здесь.
Есть ли эквивалент Linux DBus на OSX? Я имею в виду, есть ли в OSX «шина сообщений» по умолчанию?Есть ли эквивалент DBus на OSX?
Отказ от ответственности: OSX новичок здесь.
Возможно, самым близким аналогом будут распространены уведомления (или уведомления для связи с одним и тем же процессом). Это не идеальный аналог, но он вписывается в одну и ту же нишу. Вы можете прочитать об этом в Apple Notification Programming Topics, особенно в разделе о distributed notification center.
Есть порты Маха, которые, вероятно, сделают то, что вам нужно: http://en.wikipedia.org/wiki/Mach_(kernel).
hmmm ... из быстрого просмотра, кажется, что «Mach Port» на самом деле просто IPC без семантики более высокого уровня публикации/подписки ... или я ошибаюсь? – jldupont
@jldupont: да, порты Mach - это просто очереди и самый низкий уровень IPC в Mac OS X - на их основе создаются различные другие механизмы IPC. –
спасибо за разъяснение. +1 за то, что указал на меня в направлении порта Маха ... не знал об этом. – jldupont
Вы можете проверить DarwinPorts. Он должен включать библиотеки dBus.
MacPorts является правильным источником для этого: http://www.macports.org/ Существует длинная и спорная история между реальным проектом MacPorts и скрепером DarwinPorts. – mkb
Если вам нужно использовать DBus, вы можете установить его через Homebrew.
Homebrew - это менеджер пакетов для OS X, предоставляющий множество библиотек, в которых в основном используется Linux в качестве основной цели. Пакета DBus можно найти here
Однако это не устанавливается по умолчанию, и если вы собираетесь писать Какао приложений путь будет использовать (распределенный) центр уведомлений, как mipadi объяснены в his post (который вам также принято).
Если вам требуется прочное промежуточное программное обеспечение для связи, вы также можете посмотреть IceTouch от ZeroC, который является библиотекой Cocoa для использования услуг и функциональных возможностей, предлагаемых их каркасом Ice. Пакет содержит IceStorm, например, который является сервером публикации/подписания или услугой IceGrid, которая может быть использована для построения широкомасштабных распределенных систем.
+1: эта функциональность меня как минимум приближает к тому месту, где я хочу возглавить. Благодаря! – jldupont