I've been "about to" implement mDNS on windows for a while, and one
of the stumbling blocks is correct receipt of the TTL field from an
incoming
packet. Windows doesn't have recvmsg() and the CMSG interfaces, so
there is no direct way to get this. I was hoping to see that 58.8 did
something about this, but sadly, it does not, using recvfrom and not
getting
a useful TTL value.
Now, I know the TTL value is problematic, but what ever interpretation
one wants to take, one still needs to get it somehow.
It seems to me the only possible solution on Windows is to use a raw
socket, and interpret all he UDP messages yourself as packets. This
is ugly, and painful, and probably bad for performance as you're
basically
making the responder a packet sniffer. You could use a regular UDP
socket
for sends, which might or might not be a simplificatoin.
Does my understanding above seem correct, or are there things that
I am missing?