Главная
О разработчиках
Партнёры
Клиенты

Общие данные протокола

Регистрация
Авторизация

Добавление/удаление контакта

Отправка/приём сообщений
Добавление/удаление в(из) бан(а)
Поиск контактов
Запрос информации о пользователе
Изменение своей информации
Этот раздел посвящён тому, как нужно посылать и составлять запрос и как обрабатывать любые команды, пришедшие от сервера.

Разделы:
1) Куда подключаться
2) Общие команды
3) Как правильно посылать данные сервер
4) Как правильно принимать данные

Куда подключаться:
Сервер: 79.120.98.209
Порт: 1575

Общие команды:
Запросы:
!news
!exit ник - говорим, что мы выходим...иначе мы так и будем висеть в онлайне.

Ответы сервера:
!ok - сервер в онлайне
!no - видимо, вы ещё не авторизовались, попробуйте авторизоваться.
!news новости - присылает новости на запрос !news

Как правильно послыать данные серверу:
Например, нам надо послать серверу, что мы хотим авторизоваться на нём, следовательно, мы посылаем команду !avt ник пароль , НО это будет неправильно и сервер Вас может не понять и выполнить какую-нибудь другую операцию, либо вообще прекратить соединения (после этого нам потребуется заново перезапуститься).

Правильно нужно делать так:
Перед любой командой нужно поставить || - это будет означать, что началась новая команда. После || нужно поставить количество посылаемых символов (включая и саму команду вместе знаком !). После всех этих операций ставим : , а дальше саму команду и её атрибуты.

Что же у нас получается:
||16:!avt abc qwerty

1) Мы поставили || и это означает, что мы начали новую команду
2) Поставили 16, т.к. длина "!avt abc qwerty" равна 16 (без кавычек)
3) Поставили символ :, означающий, что началась команда
4) Подставляем !avt abc qwerty

Так Вас сервер поймёт правильно.

Внимание: сервер принимает сообщения по 50 символов. Если ваше общее сообщение (вместе с || и количеством символов и т.д.), превышает 50 символов, рекомендуем разбить его на равные части (т.е. по 50 символов)

Правильный приём данных:
Итак, мы послали команду авторизации, допустим, всё хорошо и сервер нам прислал эту команду ||7:!avt_ok

Возможно, вы уже поняли, что здесь всё означает, а если не поняли, то продолжим:

|| означает, что начинается новая команда
7 означает, какое количество символов мы посылаем
: означает, что команда началась
!avt_ok означает, что мы подключились к серверу и  можем продолжить использовать протокол.

Почему всё так сложно?

1) Потому что сервер может послать сразу же 2 команды. Для определения, где какая команда, мы используем ||. Т.е.  до  1команда ||, после || 2ая команда.

Например, мы послали сообщение самому себе. Сервер пришлёт нам следующее:
||12:!soob_ok abc||15:!soob abc текст

Следовательно, ||12:!soob_ok abc одна команда, ||15:!soob abc текст вторая команда

2) А вдруг мы посылаем слишком большое сообщение, допустим, у Вас канал 256КБ/сек, если сервер пошлёт 1000 символов, то к Вам дойдёт только 256 символов, а вся остальная часть придёт потом, для определния дошло ли нам сообщение полностью или дошло, но не полностью, мы используем двоеточие.

Например, у нас интернет-канал 256Кб/сек, нам прислали сообщение на 300 символов, мы можем принять 256 символов, а остальная часть будет потеряна, поэтому мы будем ждать следующие 44 символа.

Поэтому сервер разбивает пришедшее сообщение на 50 символов и поочерёдно шлёт клиенту.
В принципе, если скорость вашего соединения меньше 64кб/сек, рекомендуем перейти на более высокую скорость.