2010-04-27 13 views

Respuesta

9

Probablemente el análogo más cercano sería notificaciones distribuidas (o notificaciones para comunicaciones del mismo proceso). No es un análogo perfecto, pero encaja en el mismo nicho. Puede leer más sobre esto en el Notification Programming Topics de Apple, particularmente en la parte sobre el distributed notification center.

+0

+1: esta funcionalidad me acerca al menos a donde quiero ir. ¡Gracias! – jldupont

3

Hay puertos de Mach, que probablemente hagan lo que necesiten: http://en.wikipedia.org/wiki/Mach_(kernel).

+0

hmmm ... de una búsqueda rápida, parece que "Mach Port" es realmente solo un IPC sin la semántica de nivel superior de publicar/suscribir ... ¿o estoy equivocado? – jldupont

+0

@jldupont: sí, los puertos Mach son solo colas y son el nivel más bajo de IPC en Mac OS X; hay otros varios mecanismos IPC construidos sobre estos. –

+0

gracias por la aclaración. +1 por apuntarme en la dirección del puerto de Mach ... no sabía nada de eso. – jldupont

-2

Puede marcar DarwinPorts. Debe incluir las bibliotecas de dBus.

+2

MacPorts es la fuente correcta de esto: http://www.macports.org/ Hay una historia larga y polémica entre el proyecto MacPorts real y el raspador DarwinPorts. – mkb

20

Si necesita usar DBus, puede instalarlo a través del Homebrew.
Homebrew es un gestor de paquetes para OS X que proporciona muchas bibliotecas que, en su mayoría, están escritas con Linux como su objetivo principal. El paquete de Enlace con el Bus se puede encontrar here

Sin embargo, esto no se instala por defecto y si tiene la intención de escribir aplicaciones Cocoa el camino a seguir sería el uso de la (distribuido) centro de notificaciones como mipadi explica en his post (que se también aceptado).

Si necesita un middleware robusta para la comunicación también se puede echar un vistazo a IceTouch de ZeroC que es una biblioteca de cacao para el uso de los servicios y funcionalidades ofrecidos por su marco de hielo. El paquete contiene IceStorm por ejemplo, que es un servidor de publicación/suscripción o el IceGrid que se puede usar para construir sistemas distribuidos a gran escala