Главная О разработчиках Партнёры Клиенты Общие данные протокола Регистрация Авторизация Добавление/удаление контакта Отправка/приём сообщений Добавление/удаление в(из) бан(а) Поиск контактов Запрос информации о пользователе Изменение своей информации |
Этот раздел посвящён тому, как нужно посылать и составлять запрос и как обрабатывать любые команды, пришедшие от сервера. Разделы: 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кб/сек, рекомендуем перейти на более высокую скорость. |