> On 17 Jun 2010, at 13:30, Arnt Gulbrandsen wrote: >> On 06/17/2010 01:38 PM, Sabahattin Gucukoglu wrote: >>> Just in case someone here wants to take sides, have a look at this thread on >>> the IPv6 discussion list at Apple: >>> http://lists.apple.com/archives/ipv6-dev/2010/Jun/msg00000.html >>> (the thread actually goes back earlier than that, but I can't be bothered >>> going looking for it because I can't stand that awful PiperMail interface) >> >> What I've never understood is why (almost) everyone tries addresses in >> sequence instead of in parallel. >> >> Even applications that routinely open two or more concurrent connections to >> the server first try IPvX, then wait many seconds, then try IPvY. Why not try >> both in parallel and use whatever address answers first? > > It's Apple we're talking about here. Have a look at this for some nasty > surprises: > http://www.fix6.net/archives/2010/03/06/the-strange-behavior-of-apples-mdnsres > ponder/ > > Admittedly this is just for DNS, but I think it illustrates the general > problem, you can't win, you can't break even, and you can't even quit the game > with this one. It seems to me that you would want to kick off both the DNS and the connection in parallel. In thread 1, do DNS A followed by IPv4 connection. In thread 2, do DNS AAAA followed by IPv6 connection. Whichever thread completes BOTH the DNS lookup AND the connection first kills the other thread. That way, you don't have the problem of "my AAAA" succeeded first, but my connection can only be made over IPv4... You can do this cleanly be encapsulating BOTH the DNS lookup AND the connection in the same lookup using "connect by name"... - Wes _______________________________________________ Ietf mailing list Ietf@xxxxxxxx https://www.ietf.org/mailman/listinfo/ietf