• Broadcast : This is a one-to-all approach where the source transmits messages
to every single destination. However, not all protocols support broadcasting
(for example, X.25).
• Geocast : This is a one-to-many approach where one source transmits
messages to multiple destinations based on their geographic locations.
ZeroMQ supports unicast transports such as IPC, TCP, and INPROC
and multicast transports such as Pragmatic General Multicast ( PGM )
and Encapsulated Pragmatic General Multicast ( EPGM ). EPGM datagrams
are encapsulated inside UDP datagrams.
ZeroMQ is bundled with OpenPGM. This is the advantage of using ZeroMQ over
AMQP since AMQP has no multicast support. Multicast allows us to send data to all
clients only once, hence the bandwidth usage is kept steady. However, this should not
be taken as a comparison between ZeroMQ and AMQP. This would not be a healthy
comparison. As we said in Chapter 1 , Getting Started , ZeroMQ is a library.
PGM and EPGM can only be used with ZMQ_SUB and ZMQ_PUB .
Unicast is a transmission scheme that transmits messages to one destination.
ZeroMQ supports TCP, INPROC, and IPC.