mirror of
https://github.com/ChronosX88/Influence-cjdns.git
synced 2024-11-27 01:02:19 +00:00
Update main.md
This commit is contained in:
parent
7100d5f9b5
commit
128e648ab9
@ -1,22 +1,13 @@
|
|||||||
# Общая документация мессенджера Influence
|
# Общая документация мессенджера Influence
|
||||||
|
|
||||||
## Структура мессенджера
|
|
||||||
|
|
||||||
Связь между узлами - точка-точка
|
|
||||||
|
|
||||||
GUI - API ==== API - GUI
|
|
||||||
|
|
||||||
GUI - примитивная программа под Linux/Windows/Android, которая умеет отображать сообщения и вызывать функции ядра (API).
|
|
||||||
API - ядро мессенджера. Достаточно подключить *main.hpp*, чтобы вызывать функции ядра. Такая структура позволяет писать какие угодно клиенты.
|
|
||||||
|
|
||||||
## Протокол обмена
|
## Протокол обмена
|
||||||
|
|
||||||
Обмен сообщениями ведётся по UDP протоколу в формате JSON.
|
Обмен сообщениями ведётся по UDP протоколу в формате JSON.
|
||||||
При любой успешной отправке данных обновляем поле last_connect у контакта.
|
При любой успешной отправке данных обновляем поле last_connect у контакта. (not implemented)
|
||||||
Если пришло сообщение от контакта, которого нет в адресной книге - то оно отбрасывается.
|
Если пришло сообщение от контакта, которого нет в адресной книге - то оно отбрасывается.
|
||||||
Исключения - запрос handshake.
|
Исключения - запрос handshake.
|
||||||
|
|
||||||
### Добавление в друзья
|
### Добавление в друзья (not implemented)
|
||||||
|
|
||||||
Используется, чтобы установить связь с контактом. Тот кто хочет добавиться в друзья - отправляет такой запрос:
|
Используется, чтобы установить связь с контактом. Тот кто хочет добавиться в друзья - отправляет такой запрос:
|
||||||
|
|
||||||
@ -32,8 +23,7 @@ API - ядро мессенджера. Достаточно подключить
|
|||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"action":"handshakeSuccess",
|
"action":"handshakeSuccess",
|
||||||
"peerID":"*IPv6*",
|
"peerID":"*IPv6*"
|
||||||
"status": true
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -72,7 +62,7 @@ API - ядро мессенджера. Достаточно подключить
|
|||||||
Если нет ответа, то сохраняем сообщение у себя в истории, чтобы потом переотправить.
|
Если нет ответа, то сохраняем сообщение у себя в истории, чтобы потом переотправить.
|
||||||
`status == true` - доставлено.
|
`status == true` - доставлено.
|
||||||
|
|
||||||
### Пинг - проверка онлайна
|
### Пинг - проверка онлайна (not implemented)
|
||||||
|
|
||||||
Если прошло время last_connect > 1 минуты, от отправляем запрос
|
Если прошло время last_connect > 1 минуты, от отправляем запрос
|
||||||
|
|
||||||
@ -113,7 +103,7 @@ API - ядро мессенджера. Достаточно подключить
|
|||||||
|
|
||||||
В ответ приходит массив с `true` или `false`. Если `true` - сообщение успешно отправлено, `false` - сообщение недоставлено.
|
В ответ приходит массив с `true` или `false`. Если `true` - сообщение успешно отправлено, `false` - сообщение недоставлено.
|
||||||
|
|
||||||
### Отправление сообщения для другого абонента (это нужно чтобы отправлять тем, кто в offline)
|
### Отправление сообщения для другого абонента (это нужно чтобы отправлять тем, кто в offline) (not implemented)
|
||||||
|
|
||||||
Если человек, которому мы отправляем сообщение offline - то, во-первых, оно сохраняется у себя на сервере, для последующей отправки.
|
Если человек, которому мы отправляем сообщение offline - то, во-первых, оно сохраняется у себя на сервере, для последующей отправки.
|
||||||
Во-вторых, можно попросить какого-то друга его переотправить. Для этого выбираем случайно несколько друзей из списка контактов, у которых `can_resend == 1` и отправляем им запрос.
|
Во-вторых, можно попросить какого-то друга его переотправить. Для этого выбираем случайно несколько друзей из списка контактов, у которых `can_resend == 1` и отправляем им запрос.
|
||||||
|
Loading…
Reference in New Issue
Block a user