/// <summary> /// This method runs the server by continually executing state transitions. /// </summary> private void Run() { try { stream = client.GetStream(); StateContext context = new StateContext(this); while (true) { context.Next(); } } catch (Exception e) { //IOExceptions and TimeoutExceptions have the same behavior Console.WriteLine(e.Message); client.Close(); Player updatedPlayer = new Player(player); updatedPlayer.LoggedIn = false; if (player != null && player.LoggedIn) { if (!players.TryUpdate(player.Name, updatedPlayer, player)) { throw new Exception("F**k you"); } } //if (player != null && player.LoggedIn) // player.LoggedIn = false; closeServer(this); return; } }
/// <summary> /// This method runs the server by continually executing state transitions. /// </summary> private void Run() { try { stream = client.GetStream(); StateContext context = new StateContext(this); while (true) context.Next(); } catch (Exception e) { //IOExceptions and TimeoutExceptions have the same behavior Console.WriteLine(e.Message); client.Close(); Player updatedPlayer = new Player(player); updatedPlayer.LoggedIn = false; if (player != null && player.LoggedIn) if (!players.TryUpdate(player.Name, updatedPlayer, player)) throw new Exception("F**k you"); //if (player != null && player.LoggedIn) // player.LoggedIn = false; closeServer(this); return; } }