Updated documentation

This commit is contained in:
ChronosX88 2018-05-16 14:46:59 +03:00
parent 945beac311
commit a2d82beedd

View File

@ -1,4 +1,4 @@
# Общая документация
# Общая документация мессенджера HyperboriaIM
## Структура мессенджера
@ -6,7 +6,7 @@
GUI - API ==== API - GUI
GUI - примитивная программа под Linux/Windows/Android, которая умеет отображать сообщения и вызывать функции ядра (API).
GUI - примитивная программа под Linux/Windows/Android, которая умеет отображать сообщения и вызывать функции ядра (API).
API - ядро мессенджера. Достаточно подключить *main.hpp*, чтобы вызывать функции ядра. Такая структура позволяет писать какие угодно клиенты.
## Протокол обмена
@ -21,19 +21,19 @@ API - ядро мессенджера. Достаточно подключить
Используется, чтобы установить связь с контактом. Тот кто хочет добавиться в друзья - отправляет такой запрос:
```json
{
 "action":"handshake",
 "peerID":"*IPv6 контакта*"
{
"action":"handshake",
"peerID":"*IPv6 контакта*"
}
```
Ответ:
```json
{  
 "action":"handshakeSuccess",
 "peerID":"*IPv6*",
 "status": true
{  
"action":"handshakeSuccess",
"peerID":"*IPv6*",
"status": true
}
```
@ -44,25 +44,25 @@ API - ядро мессенджера. Достаточно подключить
Структура сообщения в JSON:
```json
{
{
"action":"send",
"peerSender":"*IPv6*",
"peerReceiver":"*IPv6*",
"chatID":"*Идентификатор чата, у обоих он одинаковый*",
"msgID":"*ID сообщения в чате*","msgText":"*сообщение*",
"timestamp":"*время*",
"enctype":""
"timestamp":"*время*",
"enctype":""
}
```
ответ:
```json
{  
{  
"action":"sendSuccess",
 "peerSender":"*IPv6 отправителя, т.е. кому доставили сообщение*",
"peerSender":"*IPv6 отправителя, т.е. кому доставили сообщение*",
"peerReceiver":"*IPv6 получателя, т.е. кто отправил сообщение*",
 "chatID":"*Идентификатор чата, у обоих он одинаковый*",
"chatID":"*Идентификатор чата, у обоих он одинаковый*",
"msgID":"*ID сообщения, которое доставлено, в чате*",
"status": true
}
@ -77,18 +77,18 @@ API - ядро мессенджера. Достаточно подключить
Если прошло время last_connect > 1 минуты, от отправляем запрос
```json
{
 "action":"ping",
 "peerID":"*IPv6*"
{
"action":"ping",
"peerID":"*IPv6*"
}
```
ответ:
```json
{
 "action":"pong",
 "peerID":"*IPv6*"
{
"action":"pong",
"peerID":"*IPv6*"
}
```
@ -96,18 +96,18 @@ API - ядро мессенджера. Достаточно подключить
Если для этого адрес в базе есть недоставленные сообщения, то отправляем такой запрос:
```json
{
{
"action":"history",
"messages":[{},{},{}...]
"messages":[{},{},{}...]
}
```
ответ:
```json
{
 "action":"historySuccess",
 "status":[true,true,true,false,true]
{
"action":"historySuccess",
"status":[true,true,true,false,true]
}
```
@ -120,7 +120,7 @@ API - ядро мессенджера. Достаточно подключить
Для ретрансляции можно также использовать свой сервер в интернете, нужно просто его добавить в контакты.
```json
{
{
"peerSender":"*IPv6*",
"peerReceiver":"*IPv6*",
"action":"resend",
@ -128,17 +128,17 @@ API - ядро мессенджера. Достаточно подключить
"msgID":"*ID сообщения в чате*",
"msgText":"*сообщение*",
"timestamp":"*время*",
"enctype":""
"enctype":""
}
```
Ответ:
```json
{
{
"peerID":"*IPv6*",
"action":"resendSuccess",
"status":true
"status":true
}
```