static void JoinGame(string addr, int port) { var serializer = new Network.Core.Serialization.JsonSerializer(); // сериализатор (приведение данных к унифицированному формату) GameClient client = new GameClient(serializer); // инициализация игрового клиента GameView gameView = new GameView(client); // инициализация игрового представления try { client.Connect(addr, port); // подключаем клиент gameView.Process(); // запсукаем игровой процесс } catch (Exception e) { Console.WriteLine(e); // если не получилось подключиться то говорим об этом Console.WriteLine("Couldn't connect to specified server"); } }
static void StartServer(GameSession session, int port) { var serializer = new Network.Core.Serialization.JsonSerializer(); // инициализация сериализатора GameServer server = new GameServer(port, serializer, session); // инициализация игрового сервера try { server.Start(); // запуск сервера do { server.Process(); // проверяем есть ли данные для получения + проверка на соединение Thread.Sleep(1); } while (server.State != GameServerState.GameEnded); // работает пока игра не окончится } catch (Exception) { //Something went wrong } server.Dispose(); // зачистка памяти по окончании работы }