Well that's a start I guess. It does look to me like they're only binding one port number, which would be what I was hoping for. I'll see if I can muster some time later to try something on my server and see if it will at least bind. I don't have IPv6 connectivity at home to verify it with though.

So it's back to the same old crap as before. Not allowing to bind everything to one port, despite the obvious fact that other services on the box are doing so without issue. Something is clearly missing here but I have no idea what.

Hmm. I'm curious about this part that I found in one of the later examples at the page I mentioned earlier. Would something like this make a difference?

// After the socket descriptor is created, a bind() function gets a
// unique name for the socket. In this example, the user sets the
// address to in6addr_any, which (by default) allows connections to
// be established from any IPv4 or IPv6 client based on the hostname
// that specifies port 7171.
// That is, the bind is done to both the IPv4 and IPv6 TCP/IP
// stacks. However this sample program only accept the IPv4 hostname, then
// the client must prepare to convert the IPv4 address to the hostname
// before translating the IP string to network address before making a connection
// using various Winsock API such as getaddressinfo() etc.
memset(&serveraddr, 0, sizeof(serveraddr));
serveraddr.sin6_family = AF_INET6;
serveraddr.sin6_port = htons(SERVER_PORT);
// Applications use in6addr_any similarly to the way they use
// INADDR_ANY in IPv4.
serveraddr.sin6_addr = in6addr_any;
// The remaining fields in the sockaddr_in6 are currently not
// supported and should be set to 0 to ensure upward compatibility
if (bind(sd, (struct sockaddr *)&serveraddr, sizeof(serveraddr)) == SOCKET_ERROR)

I'm no expert on sockets (maybe someday if I have more time!) but maybe this is helpful.

Decided to look at this again, along with the link I posted before that talked about IPv4 and IPv6 coexisting. Maybe I'm wrong, but isn't the code from Kober missing only something like this to make it work, at least in theory?