mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-23 22:37:55 +02:00
Reconnection works
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user