Есть ли эквивалент DBus на OSX?

17

Есть ли эквивалент Linux DBus на OSX? Я имею в виду, есть ли в OSX «шина сообщений» по умолчанию?

Отказ от ответственности: новичок OSX здесь.

    
задан jldupont 27.04.2010 в 20:32
источник

4 ответа

9

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

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

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

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

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

ответ дан MKroehnert 11.02.2011 в 14:15
3

Есть порты Mach , которые, вероятно, будут делать то, что вам нужно: Ссылка .     

ответ дан Paul R 27.04.2010 в 20:55
  • hmmm ... из быстрого просмотра, похоже, что «Mach Port» на самом деле является просто IPC без семантики более высокого уровня публикации / подписки ... или я ошибаюсь? –  jldupont 27.04.2010 в 21:03
  • @jldupont: да, порты Mach являются просто очередями и являются самым низким уровнем IPC в Mac OS X - на их основе создаются различные другие механизмы IPC. –  Paul R 27.04.2010 в 21:10
  • спасибо за разъяснение. +1 за то, что указал на меня в направлении порта Маха ... не знал об этом. –  jldupont 27.04.2010 в 21:13
  • @jldupont: вы можете захотеть взглянуть на такие вещи, как обмен сообщениями Mach, kqueue и notify, в зависимости от того, на каком уровне вы хотите сделать IPC. Получите книгу Амита Сингха, если вы серьезно относитесь к подобным вещам. –  Paul R 27.04.2010 в 21:18
-2

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

    
ответ дан stwissel 27.01.2011 в 03:44
  • MacPorts является правильным источником для этого: macports.org. Существует длинная и спорная история между реальным проектом MacPorts и скрепером DarwinPorts. –  mkb 29.03.2011 в 15:47