1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-23 22:37:55 +02:00

Reconnection works

This commit is contained in:
nordsoft
2022-10-04 05:42:14 +04:00
parent 16a5414247
commit 722acb2a1d
3 changed files with 18 additions and 3 deletions

View File

@@ -327,10 +327,23 @@ void CVCMIServer::connectionAccepted(const boost::system::error_code & ec)
connections.insert(c);
c->handler = std::make_shared<boost::thread>(&CVCMIServer::threadHandleClient, this, c);
if(!hangingConnections.empty())
if(!hangingConnections.empty() && gh)
{
//TODO: check client uuid
logNetwork->info("Reconnection player");
c->connectionID = (*hangingConnections.begin())->connectionID;
for(auto & playerConnection : gh->connections)
{
for(auto & existingConnection : playerConnection.second)
{
if(existingConnection == *hangingConnections.begin())
{
playerConnection.second.erase(existingConnection);
playerConnection.second.insert(c);
break;
}
}
}
//hangingConnections.clear();
}
}