mirror of
https://github.com/ioquake/ioq3.git
synced 2024-11-10 07:11:46 +00:00
bind ipv6 sockets first
by binding the ipv6 sockets first it's possible to bind 0.0.0.0 and :: to the same port.
This commit is contained in:
parent
b060eae562
commit
a98fed9ee2
1 changed files with 21 additions and 20 deletions
|
@ -1329,6 +1329,27 @@ void NET_OpenIP( void ) {
|
|||
// automatically scan for a valid port, so multiple
|
||||
// dedicated servers can be started without requiring
|
||||
// a different net_port for each one
|
||||
|
||||
if(net_enabled->integer & NET_ENABLEV6)
|
||||
{
|
||||
for( i = 0 ; i < 10 ; i++ )
|
||||
{
|
||||
ip6_socket = NET_IP6Socket(net_ip6->string, port6 + i, &boundto, &err);
|
||||
if (ip6_socket != INVALID_SOCKET)
|
||||
{
|
||||
Cvar_SetValue( "net_port6", port6 + i );
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(err == EAFNOSUPPORT)
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(ip6_socket == INVALID_SOCKET)
|
||||
Com_Printf( "WARNING: Couldn't bind to a v6 ip address.\n");
|
||||
}
|
||||
|
||||
if(net_enabled->integer & NET_ENABLEV4)
|
||||
{
|
||||
for( i = 0 ; i < 10 ; i++ ) {
|
||||
|
@ -1351,26 +1372,6 @@ void NET_OpenIP( void ) {
|
|||
if(ip_socket == INVALID_SOCKET)
|
||||
Com_Printf( "WARNING: Couldn't bind to a v4 ip address.\n");
|
||||
}
|
||||
|
||||
if(net_enabled->integer & NET_ENABLEV6)
|
||||
{
|
||||
for( i = 0 ; i < 10 ; i++ )
|
||||
{
|
||||
ip6_socket = NET_IP6Socket(net_ip6->string, port6 + i, &boundto, &err);
|
||||
if (ip6_socket != INVALID_SOCKET)
|
||||
{
|
||||
Cvar_SetValue( "net_port6", port6 + i );
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(err == EAFNOSUPPORT)
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(ip6_socket == INVALID_SOCKET)
|
||||
Com_Printf( "WARNING: Couldn't bind to a v6 ip address.\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue