mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-29 12:19:12 +00:00
Added Gui elements in Netplay Setup Diag so a person can choose a traversal server
Fixed bug with UPnP so that it will grab the proper address and protocal Fixed bug that caused dolphin to freeze when host codes were to large
This commit is contained in:
parent
1dea3780a7
commit
a629555e6b
9 changed files with 116 additions and 51 deletions
|
@ -12,13 +12,14 @@ static void GetRandomishBytes(u8* buf, size_t size)
|
|||
buf[i] = rand() & 0xff;
|
||||
}
|
||||
|
||||
TraversalClient::TraversalClient(ENetHost* netHost, const std::string& server)
|
||||
TraversalClient::TraversalClient(ENetHost* netHost, const std::string& server, const u16 port)
|
||||
: m_NetHost(netHost)
|
||||
, m_Client(nullptr)
|
||||
, m_FailureReason(0)
|
||||
, m_ConnectRequestId(0)
|
||||
, m_PendingConnect(false)
|
||||
, m_Server(server)
|
||||
, m_port(port)
|
||||
, m_PingTime(0)
|
||||
{
|
||||
netHost->intercept = TraversalClient::InterceptCallback;
|
||||
|
@ -34,13 +35,12 @@ TraversalClient::~TraversalClient()
|
|||
|
||||
void TraversalClient::ReconnectToServer()
|
||||
{
|
||||
m_Server = "vps.qoid.us"; // XXX
|
||||
if (enet_address_set_host(&m_ServerAddress, m_Server.c_str()))
|
||||
{
|
||||
OnFailure(BadHost);
|
||||
return;
|
||||
}
|
||||
m_ServerAddress.port = 6262;
|
||||
m_ServerAddress.port = m_port;
|
||||
|
||||
m_State = Connecting;
|
||||
|
||||
|
@ -326,12 +326,13 @@ static u16 g_OldPort;
|
|||
|
||||
bool EnsureTraversalClient(const std::string& server, u16 port)
|
||||
{
|
||||
|
||||
if (!g_MainNetHost || !g_TraversalClient || server != g_OldServer || port != g_OldPort)
|
||||
{
|
||||
g_OldServer = server;
|
||||
g_OldPort = port;
|
||||
g_OldPort = port ;
|
||||
|
||||
ENetAddress addr = { ENET_HOST_ANY, port };
|
||||
ENetAddress addr = { ENET_HOST_ANY, 0 };
|
||||
ENetHost* host = enet_host_create(
|
||||
&addr, // address
|
||||
50, // peerCount
|
||||
|
@ -344,7 +345,7 @@ bool EnsureTraversalClient(const std::string& server, u16 port)
|
|||
return false;
|
||||
}
|
||||
g_MainNetHost.reset(host);
|
||||
g_TraversalClient.reset(new TraversalClient(g_MainNetHost.get(), server));
|
||||
g_TraversalClient.reset(new TraversalClient(g_MainNetHost.get(), server, port));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue