The problem with using Happy Eyeballs is that many/most BBS connections aren't idempotent... as soon as a TCP connection is established, a resource is locked or consumed. Further, many BBS systems will strictly limit connections from the same IP address as well. Finally, some retro BBS systems used embedded stacks to convert to a serial connection and those can take as long as a couple seconds to SYN+ACK, and they also only allow a single incoming connection at a time.
In short, opening multiple simultaneous connections, then terminating all except the best one is a bad default strategy for BBSs.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
While DNS does give an IPv6 address, there doesn't seem to be a telnet server on it.
Yes but if IPv6 is broken, no matter where, and IPv4 is also advertized I would like a fallback.
Are you suggesting that after the sixty second timeout it try the next address? I doubt that would be useful to anyone.
I am certainly not suggesting sixty seconds.
How about 0.25 seconds like in Happy Eyeballs?
https://btw.media/en/quarter-second-bargain-behind-happy-eyeballs
The problem with using Happy Eyeballs is that many/most BBS connections aren't idempotent... as soon as a TCP connection is established, a resource is locked or consumed. Further, many BBS systems will strictly limit connections from the same IP address as well. Finally, some retro BBS systems used embedded stacks to convert to a serial connection and those can take as long as a couple seconds to SYN+ACK, and they also only allow a single incoming connection at a time.
In short, opening multiple simultaneous connections, then terminating all except the best one is a bad default strategy for BBSs.
Ticket moved from /p/syncterm/tickets/295/
Can't be converted:
I've added an option for Happy Eyeballs to the v2.0a branch.