[zeromq-dev] UDP message with zeromq 2.0beta
Martin Sustrik
sustrik at 250bpm.com
Thu Jan 21 11:27:47 CET 2010
Guo,
> I have another question regarding PGM. in
> http://www.zeromq.org/whitepapers:design-v05, it stated that
>
> Comment: On Linux, PGM-enabled applications have to be run with root
> privileges. The cause is that there is no PGM implementation in the
> kernel and you have to send/receive PGM packets from the user space.
> Manipulation of raw IP sockets from user space requires root privileges.
> If you want to use multicast without root privileges you have to use PGM
> encapsulated within UDP (use say "bp/pgm://udp:eth0;224.0.0.0:5555"
> instead of "bp/pgm://eth0;224.0.0.0:5555"). Note that this is not the
> real PGM, i.e. it won't intercommunicate with other PGM implementations.
> Also, you have to set these two environment variables:
>
> $ export PGM_TIMER="TSC"
> $ export PGM_SLEEP="TSC"
That's outdated. The implementation was improved so that when you use
"udp://" transport, you don't have to worry about privileges. With PGM
proper ("pgm://") your application has to have privilege to create a raw
socket.
While the whitepapers may yield some useful information on internal
architecture of 0MQ, when sorting out how the API works refer to the man
pages. In this case zmq_pgm(7) and zmq_udp(7).
Martin
More information about the zeromq-dev
mailing list