... and annoying casting from `sockaddr` to either `sockaddr_in` or `sockaddr_in6*` while you pass around a socklen_t.
10 years ago I was all gung-ho about IPv6, but it's annoying at every level.
10 years ago I was all gung-ho about IPv6, but it's annoying at every level.
Having to deal with the separate socklen_t is mildly annoying, but you can just make a little struct that holds both.
https://radar.offseq.com/threat/ipv4-mapped-ipv6-addresses-t...
If you want to handle two protocols, it is not unreasonable to use two sockets.