Клиент-серверное приложение для получения списка кораблей, соединенное gRPC
Сервер ожидает запроса от клиента. Как только приходит запрос с координатами - случайно генерирует корабли согласно enum классу Spaceship:
alignment: Alignment
name: str
vessel_class: Vessel_class
length: float
size: int
armed: bool
officers: list[dict[str, str]]
Клиент первой версии всего лишь выводить корабли в формате json
Второй - осуществляет их отбраковку с помощью pydantic
Третьей - осуществляет добавление полученных кораблей в базу данных. Также позволяет обнаружить предателей (офицеров, которые присутствуют одновременно и на вражеском, и на союзном кораблях) и вывести их список.
make build
- формирует прото файлы
make server
- запускает сервер
python3 reporting_client_* [options]
- запускает клиент 1, 2 или 3.
В случае первого и второго необходимо подать координаты в формате: [int] [int] [float] [int] [int] [float] В случае третьего нужно либо добавить перед ними scan либо подать list_of_traitors