[zeromq-dev] [PATCH] Introduce ZMQ_ROUTER and ZMQ_DEALER sockets
Martin Sustrik
sustrik at 250bpm.com
Mon Jun 20 14:20:18 CEST 2011
Hi Pieter, Ian,
>
> A typical addressvalue would consist of host IP address, ":", and
> port number.
From 0MQ's point of view, identities are just BLOBs so they can contain
anything be it a blob or an IP address or whatever. The only constraint
is that the BLOB should uniquely identity particular connection *instance*.
> This seems to open the possibility of getting unintended duplicate
> identity issues. For example, if I have a script that creates a socket,
> connects, and exits, I could easily share an identity over a short time
> period.
Yes. To make it work well, an unique ID, such as UUID or timestamp would
have to be added to the address.
> There could also be an issue with NAT perhaps.
Using source port instead of destination port should help with that.
>I guess IPC would be PID
Same problem as above. PIDs can be re-used.
> and inproc could just use some incrementing value or similar
That would work.
> For PGM I guess it would have to be the interface IP address, though we
> don't have an easily distinguishable port there do we? AFAIU you could
> have multiple publishers on one box pushing from the same interface onto
> the same multicast IP/port?
PGM doesn't work with ROUTER socket so there's no problem here.
> I think there would need to still be the leading null or similar to
> distinguish generated identifies from manual identities
Yes.
> or are manual identities being ditched completely in 3 (I am fine with that :)).
That would be nice, but users want the feature to remain, so it's going
to remain.
Martin
More information about the zeromq-dev
mailing list