Описание протоколов работы DMconnect 1998 г РСД |
Основы DMconnect DMconnect - система обмена мгновенными сообщениями в реальном времени по системе TCP. DMconnect работает в кодировке UTF-8 и поддерживает все символы unicode (хотя их использование и не рекомендуется). DMconnect требует постоянного подключения к серверу (обслуживающему компьютеру) для осуществления общения, соответственно, требует и нахождение пользователя on-line в Интернет. Для общения, пользователи должны сначала пройти регистрацию своей учётной записи на сервере, а затем, использовав свои регистрационные (персональные) данные, войти в состояния on-line. Чтобы начать общение, пользователь после этого выбирает "подсервер" - изолированный участок для общения. DMconnect не хранит на своей стороне историю всех сообщений. Принцип работы Принцип работы конкретно общения между пользователями на подсервере (поддерживается, только если пользователи находятся на одном подсервере одновременно) очень прост. Сервер рассылает всем подключенным клиентам (пользователям) сообщение вида: ИМЯ ВАШЕЙ УЧЕТНОЙ ЗАПИСИ: ВАШЕ СООБЩЕНИЕНаглядно видно, что ваше имя и ваше сообщение разделено конструкцией ": ", но об этом мы говорим позже. Также отметим, что регистрация и использование учетных записей с символами пробела ( ) - не поддерживается сервером, поэтому таких пользователей и нет. Основы приватных (личных) сообщений конкретному пользователю Помимо обмена сообщениями на подсервере между всеми его участниками, существует функция отправки вашего сообщения конкретному пользователю, которого вы выбираете. В среде протокола это обозначается как PRIVATE. Обратите внимание, что для корректной доставки вашего сообщения, пользователь должен находится on-line, но не обязательно должен находится на одном из подсерверов. При отправке сообщения пользователю, он увидит следующее сообщение от сервера: (Private) ИМЯ ВАШЕЙ УЧЕТНОЙ ЗАПИСИ: ВАШЕ СООБЩЕНИЕА вы сами: Private message sent to xxx.Где xxx - это имя пользователя, которому вы доставляли свое сообщение, разумеется, может быть разным. Подключение к серверу DMconnect по его протоколу Для подключения к своему серверу клиентов, DMconnect использует стандарт AF_INET - IPv4-адреса (цифровые IP-адреса, если быть проще), а также, для указания постоянного соединения online - SOCK_STREAM, работающий по TCP. Собственно, на TCP весь DMconnect и построен. Для поддержания подключения, DMconnect не использует (на момент протокола v3) каких-либо дополнительных механизмов, поэтому подключение зависит от конечного пользователя на сервере. DMconnect полностью закрывает соеиднение, если пользователь отключился сам (защитный механизм для обхода множества последующих ошибок). Вход в учетную запись и регистрация ее на сервере Для регистрации и входа в учетную запись на сервере DMconnect, используются специальные пакеты, которые клиент должен доставить серверу, а позже - получить от него ответ. Рассмотрим подробно:
После успешной авторизации Здесь расписан этап, который следует уже успешно прошедшей авторизации пользователя в DMconnect. Пользователь должен выбрать подсервер, на котором он будет общаться со всеми его участниками, также поддерживается создание своего собственного подсервера. Рассмотрим подробно:
Доступные пакеты для отправки Ниже приведена таблица с доступными пакетами для отправки в момент, когда пользователь находится на одном из подсерверов:
Как видите, начинающий байт у всех выполняемых пакетов - 2F, теперь рассмотрим выполняемые пакеты при авторизации:
После того, как пользователь прошел авторизацию, как я уже говорил, ему необходимо выбрать подсервер, пакет:
Заключение Большое спасибо за внимание! В этом документе написано про основы работы с протоколом DMconnect, также этот документ можно свободно распространять. |