Функциональные требования - Ivan-Veselov/roulette GitHub Wiki

Серверное приложение должно реализовывать следующие функции:

  1. Прослушивание определенного порта
  2. Обработка запросов на подключение по этому порту от клиентов
  3. Регистрация подключившегося клиента в качестве крупье (один) или в качестве игрока (несколько)
  4. Выдача клиенту (крупье и игроку) списка ставок текущей игры (ставок других игроков)
  5. Получение от клиента ставки: суммы ставки и типа ставки (чет, нечет, номер)
  6. Получение от крупье команды на начало розыгрыша.
  7. Уведомление всех клиентов о результате розыгрыша
  8. Обработка запроса на отключение клиента
  9. Принудительное отключение клиента

Клиентское приложение должно реализовывать следующие функции:

  1. Предоставлять пользователю настройку IP-адреса или доменного имени удалённого игрового сервера и номера порта, используемого сервером.
  2. Установление соединения с сервером
  3. Посылка регистрационных данных клиента (как крупье или как игрока)
  4. Получение и вывод списка ставок
  5. Для игрока: посылка своей ставки (сумма и ставки и тип ставки)
  6. Для крупье: посылка команды начала розыгрыша
  7. Получение и вывод результатов розыгрыша
  8. Разрыв соединения
  9. Обработка ситуации отключения клиента сервером