pr4_syslog/README.md
2025-03-27 22:31:22 +03:00

97 lines
2.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Игра «Угадай число» по протоколу TCP
## Описание
Данный проект представляет собой простую клиент-серверную игру «Угадай число», реализованную с использованием сокетов по протоколу TCP на языке программирования C.
## Состав проекта
- `server.c` Исходный код серверного приложения
- `client.c`: поддерживает два режима работы:
- **Интерактивный (ручной)** игрок сам вводит числа.
- **Автоматический (бинарный поиск)** компьютерный игрок сам угадывает число с помощью алгоритма бинарного поиска.
- `Makefile` Файл сборки проекта
## Сборка проекта
Для сборки проекта выполните команду:
```bash
make
```
Для сборки только серверной или клиентской части выполните одну из команд:
```bash
make server
```
или
```bash
make client
```
## Запуск
### Запуск сервера
Сервер принимает номер порта в качестве параметра:
```bash
./server <порт>
```
Пример:
```bash
./server 12345
```
Сервер начинает слушать указанный порт и ждать подключений клиентов.
### Запуск клиента
Клиент принимает IP-адрес и порт сервера в качестве аргументов:
```bash
./client <адрес сервера> <порт> <режим>
```
Где:
- `<адрес сервера>` IP-адрес сервера.
- `<порт>` порт, который использует сервер.
- `<режим>` BLANK (интерактивный) или `-a` (автоматический).
Примеры:
**Интерактивный режим:**
```sh
./client 127.0.0.1 12345
```
**Автоматический режим:**
```sh
./client 127.0.0.1 12345 -a
```
После запуска следуйте инструкциям в терминале для игры.
## Логирование
Сервер выводит в stdout информацию о:
- Подключении и отключении клиентов
- Ходе игры: всех сообщениях клиентов и ответах сервера
Формат логов:
```
<адрес клиента>: <сообщение>
```
## Очистка сборки
Для удаления скомпилированных файлов выполните команду:
```bash
make clean
```