mirror of
https://github.com/ChronosX88/Influence-cjdns.git
synced 2024-11-23 15:42:18 +00:00
Updated documentation
This commit is contained in:
parent
945beac311
commit
a2d82beedd
@ -1,4 +1,4 @@
|
|||||||
# Общая документация
|
# Общая документация мессенджера HyperboriaIM
|
||||||
|
|
||||||
## Структура мессенджера
|
## Структура мессенджера
|
||||||
|
|
||||||
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
GUI - API ==== API - GUI
|
GUI - API ==== API - GUI
|
||||||
|
|
||||||
GUI - примитивная программа под Linux/Windows/Android, которая умеет отображать сообщения и вызывать функции ядра (API).
|
GUI - примитивная программа под Linux/Windows/Android, которая умеет отображать сообщения и вызывать функции ядра (API).
|
||||||
API - ядро мессенджера. Достаточно подключить *main.hpp*, чтобы вызывать функции ядра. Такая структура позволяет писать какие угодно клиенты.
|
API - ядро мессенджера. Достаточно подключить *main.hpp*, чтобы вызывать функции ядра. Такая структура позволяет писать какие угодно клиенты.
|
||||||
|
|
||||||
## Протокол обмена
|
## Протокол обмена
|
||||||
@ -21,19 +21,19 @@ API - ядро мессенджера. Достаточно подключить
|
|||||||
Используется, чтобы установить связь с контактом. Тот кто хочет добавиться в друзья - отправляет такой запрос:
|
Используется, чтобы установить связь с контактом. Тот кто хочет добавиться в друзья - отправляет такой запрос:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"action":"handshake",
|
"action":"handshake",
|
||||||
"peerID":"*IPv6 контакта*"
|
"peerID":"*IPv6 контакта*"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Ответ:
|
Ответ:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"action":"handshakeSuccess",
|
"action":"handshakeSuccess",
|
||||||
"peerID":"*IPv6*",
|
"peerID":"*IPv6*",
|
||||||
"status": true
|
"status": true
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -44,25 +44,25 @@ API - ядро мессенджера. Достаточно подключить
|
|||||||
Структура сообщения в JSON:
|
Структура сообщения в JSON:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"action":"send",
|
"action":"send",
|
||||||
"peerSender":"*IPv6*",
|
"peerSender":"*IPv6*",
|
||||||
"peerReceiver":"*IPv6*",
|
"peerReceiver":"*IPv6*",
|
||||||
"chatID":"*Идентификатор чата, у обоих он одинаковый*",
|
"chatID":"*Идентификатор чата, у обоих он одинаковый*",
|
||||||
"msgID":"*ID сообщения в чате*","msgText":"*сообщение*",
|
"msgID":"*ID сообщения в чате*","msgText":"*сообщение*",
|
||||||
"timestamp":"*время*",
|
"timestamp":"*время*",
|
||||||
"enctype":""
|
"enctype":""
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
ответ:
|
ответ:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"action":"sendSuccess",
|
"action":"sendSuccess",
|
||||||
"peerSender":"*IPv6 отправителя, т.е. кому доставили сообщение*",
|
"peerSender":"*IPv6 отправителя, т.е. кому доставили сообщение*",
|
||||||
"peerReceiver":"*IPv6 получателя, т.е. кто отправил сообщение*",
|
"peerReceiver":"*IPv6 получателя, т.е. кто отправил сообщение*",
|
||||||
"chatID":"*Идентификатор чата, у обоих он одинаковый*",
|
"chatID":"*Идентификатор чата, у обоих он одинаковый*",
|
||||||
"msgID":"*ID сообщения, которое доставлено, в чате*",
|
"msgID":"*ID сообщения, которое доставлено, в чате*",
|
||||||
"status": true
|
"status": true
|
||||||
}
|
}
|
||||||
@ -77,18 +77,18 @@ API - ядро мессенджера. Достаточно подключить
|
|||||||
Если прошло время last_connect > 1 минуты, от отправляем запрос
|
Если прошло время last_connect > 1 минуты, от отправляем запрос
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"action":"ping",
|
"action":"ping",
|
||||||
"peerID":"*IPv6*"
|
"peerID":"*IPv6*"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
ответ:
|
ответ:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"action":"pong",
|
"action":"pong",
|
||||||
"peerID":"*IPv6*"
|
"peerID":"*IPv6*"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -96,18 +96,18 @@ API - ядро мессенджера. Достаточно подключить
|
|||||||
Если для этого адрес в базе есть недоставленные сообщения, то отправляем такой запрос:
|
Если для этого адрес в базе есть недоставленные сообщения, то отправляем такой запрос:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"action":"history",
|
"action":"history",
|
||||||
"messages":[{},{},{}...]
|
"messages":[{},{},{}...]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
ответ:
|
ответ:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"action":"historySuccess",
|
"action":"historySuccess",
|
||||||
"status":[true,true,true,false,true]
|
"status":[true,true,true,false,true]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -120,7 +120,7 @@ API - ядро мессенджера. Достаточно подключить
|
|||||||
Для ретрансляции можно также использовать свой сервер в интернете, нужно просто его добавить в контакты.
|
Для ретрансляции можно также использовать свой сервер в интернете, нужно просто его добавить в контакты.
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"peerSender":"*IPv6*",
|
"peerSender":"*IPv6*",
|
||||||
"peerReceiver":"*IPv6*",
|
"peerReceiver":"*IPv6*",
|
||||||
"action":"resend",
|
"action":"resend",
|
||||||
@ -128,17 +128,17 @@ API - ядро мессенджера. Достаточно подключить
|
|||||||
"msgID":"*ID сообщения в чате*",
|
"msgID":"*ID сообщения в чате*",
|
||||||
"msgText":"*сообщение*",
|
"msgText":"*сообщение*",
|
||||||
"timestamp":"*время*",
|
"timestamp":"*время*",
|
||||||
"enctype":""
|
"enctype":""
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Ответ:
|
Ответ:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"peerID":"*IPv6*",
|
"peerID":"*IPv6*",
|
||||||
"action":"resendSuccess",
|
"action":"resendSuccess",
|
||||||
"status":true
|
"status":true
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user