public bool DisconnectUserByTokenID(string tokenID)
{
if(tokenID == null || tokenID.Length <= 0)
{
return false;
}
ClientInfo client;
lock (lockTokenObject)
{
if(!TokenClients.TryGetValue(tokenID, out client))
{
Debug.LogWarning("There is no User with TokenID: " + tokenID);
return false;
}
TokenClients.Remove(client.TokenID);
}
lock (lockConnectedObject)
{
if (!ConnectedClients.Remove(client.ConnectionID))
{
Debug.LogWarning("No Client Connected from: " + client.ConnectionID);
return false;
}
_clientsConnectedStatusUpdate = true;
_clientsConnectedUserNameStatusUpdate = true;
}
client.Disconnect(DateTime.Now);
GameServer.ServerInfoManager.PlayerStatusUpdate(client.UserName, client.isConnected, GameServer.getServerTime());
return true;
}