mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-25 15:19:42 -06:00
NetPlay: Don’t wait forever in the traversal client
With some specific, STUN-hostile routers, the netplay client can get stuck forever while trying to connect to the stun server. This adds a 5 seconds (much more than should be necessary if it works) timer until a failure is registered and the attempt stops.
This commit is contained in:
@ -137,6 +137,9 @@ NetPlayClient::NetPlayClient(const std::string& address, const u16 port, NetPlay
|
|||||||
OnTraversalStateChanged();
|
OnTraversalStateChanged();
|
||||||
m_connecting = true;
|
m_connecting = true;
|
||||||
|
|
||||||
|
Common::Timer connect_timer;
|
||||||
|
connect_timer.Start();
|
||||||
|
|
||||||
while (m_connecting)
|
while (m_connecting)
|
||||||
{
|
{
|
||||||
ENetEvent netEvent;
|
ENetEvent netEvent;
|
||||||
@ -160,6 +163,8 @@ NetPlayClient::NetPlayClient(const std::string& address, const u16 port, NetPlay
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (connect_timer.GetTimeElapsed() > 5000)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
PanicAlertT("Failed To Connect!");
|
PanicAlertT("Failed To Connect!");
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user