Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
196 lines (135 sloc) 8.21 KB
title layout lang category order
GameAP Daemon спецификация
default
ru
GameAP Daemon
60
  • This will become a table of contents (this text will be scraped). {:toc}

Файловый сервер

Сервер обменивается с клиентом данными Binn List

Запрос

Первый элемент в списке Binn строки должен содержать код команды (чтение директории, удаление файла и т.п.).

Например, чтение каталога:

Тип Значение/Пример Описание
uint8 4 Код чтения директории
string /home/gameap Каталог
uint8 1 Режим чтения (0 - только список файлов/директорий, 1 - подробный список с информацией о размере файлов, даты модификации и пр.)

Ответ

Простой ответ

Простой ответ сервера содержит код (100 в случае успеха) и сообщение.

Тип Описание
uint Код
string Сообщение

Ответ с данными

Ответ с данными, например списоком файлов в директории.

Тип Описание
uint Код
string Сообщение
mixed Данные

Коды ответов

Код Описание
1 Общая ошибка
2 Критическая ошибка
3 Неизвестная команда
100 Успешное выполнение команды
101 Готовность к отправке/получению файла

Скачивание/загрузка файлов

Запрос

Тип Описание Значение/Пример
uint8 Код 3
uint8 Режим (1 - скачивание с сервера, 2 - загрузка на сервер) 1
string Файл /home/gameap/file.txt

Ответ

При отправке файла, сервер вернёт вам простой ответ с результатами выполнения команды. После успешного ответа сервер будет готов для отправки/получения файла.

При получении файла, сервер вернёт ответ

Тип Описание Значение/Пример
uint8 Код 101
string Сообщение "File sending ready"
uint64 Размер файла (байт) 282345

Листинг файлов в каталоге

Получение списка файлов в директории. Есть несколько режимов чтения -- простой, получение только списка файлов/директорий и подробный с получением данных о размере файлов, даты модификации и т.д.

Запрос

Тип Описание Значение/Пример
uint8 Код чтения каталога 4
string Каталог /home/gameap
uint8 Режим (0 - простой, 1 - подробный) 1

Ответ

Массив с данными

Тип Описание
string Имя файла
uint64 Размер файла (байт)
uint64 Дата модификации (timestamp)
uint8 Тип (1 - каталог, 2 - файл, символическая ссылка, socket, pipe)
uint16 Привилегии. В числовом виде (например 755)

Создание каталога

Создать новый каталог

Запрос

Тип Описание Значение/Пример
uint8 Код чтения каталога 5
string Каталог /home/gameap/new_dir

Ответ

Сервер вернёт вам простой ответ с результатами выполнения команды.

Перемещение/копирование

Перемещение или копирование каталога/директории

Запрос

Тип Описание Значение/Пример
uint8 Код 6
string Текущий путь /home/gameap/old_file.txt
string Новый путь /home/gameap/new_file.txt
boolean Копирование (true/false).

Если false, то файл будет перемещён. Если true, то файл будет скопирован.
true

Ответ

Сервер вернёт простой ответ с результатами выполнения команды.

Удаление

Удаление файла/директории

Запрос

Тип Описание Значение/Пример
uint8 Код 7
string Путь к файлу, каталогу /home/gameap/delete_file.txt
bool Рекурсивное удаление каталога false

Ответ

Сервер вернёт простой ответ с результатами выполнения команды.

Подробная информация о файле

Получение развёрнутой информации об одном файле (даты создания, даты модификации, даты последнего доступа, mime и прочего).

Запрос

Тип Описание Значение/Пример
uint8 Код 8
string Путь к файлу, каталогу /home/gameap/file.txt

Ответ

Ответ с данными

Тип Описание
string Имя файла
uint64 Размер файла (байт)
uint8 Тип

1 - каталог;
2 - файл;
3 - character device;
4 - block device;
5 - named pipe;
6 - символическая ссылка;
7 - сокет;
0 - неизвестно
uint64 Дата модификации (timestamp)
uint64 Дата доступа (timestamp)
uint64 Дата создания (timestamp)
uint16 Привилегии
string Mime

Изменение привелегий

Изменение привилегий на файл

Запрос

Тип Описание Значение/Пример
uint8 Код 9
string Путь к файлу, каталогу /home/gameap/file.txt
uint16 Новые привилегии 0755

Ответ

Сервер вернёт простой ответ с результатами выполнения команды.