Функциональные требования - Ivan-Veselov/roulette GitHub Wiki
Серверное приложение должно реализовывать следующие функции:
- Прослушивание определенного порта
- Обработка запросов на подключение по этому порту от клиентов
- Регистрация подключившегося клиента в качестве крупье (один) или в качестве игрока (несколько)
- Выдача клиенту (крупье и игроку) списка ставок текущей игры (ставок других игроков)
- Получение от клиента ставки: суммы ставки и типа ставки (чет, нечет, номер)
- Получение от крупье команды на начало розыгрыша.
- Уведомление всех клиентов о результате розыгрыша
- Обработка запроса на отключение клиента
- Принудительное отключение клиента
Клиентское приложение должно реализовывать следующие функции:
- Предоставлять пользователю настройку IP-адреса или доменного имени удалённого игрового сервера и номера порта, используемого сервером.
- Установление соединения с сервером
- Посылка регистрационных данных клиента (как крупье или как игрока)
- Получение и вывод списка ставок
- Для игрока: посылка своей ставки (сумма и ставки и тип ставки)
- Для крупье: посылка команды начала розыгрыша
- Получение и вывод результатов розыгрыша
- Разрыв соединения
- Обработка ситуации отключения клиента сервером